// Matrix Construct // // Copyright (C) Matrix Construct Developers, Authors & Contributors // Copyright (C) 2016-2018 Jason Volk // // Permission to use, copy, modify, and/or distribute this software for any // purpose with or without fee is hereby granted, provided that the above // copyright notice and this permission notice is present in all copies. The // full license for this software is available in the LICENSE file. #pragma once #define HAVE_IRCD_MODS_PATHS_H namespace ircd::mods { struct paths extern paths; // Platform (.so|.dll) postfixing std::string postfixed(std::string); std::string unpostfixed(std::string); std::string prefix_if_relative(std::string); } /// Search paths vector for modules. These directories will be searched /// when a relative path/name is given to various other places in the /// ircd::mods interface. /// struct ircd::mods::paths :std::vector { bool added(const string_view &dir) const; bool del(const string_view &dir); bool add(const string_view &dir, std::nothrow_t); bool add(const string_view &dir); paths(); };