Classes | |
class | FeatureNotAvailableException |
To be raised whenever a feature is not available on the target platform for the currently linked Ceylan library. More... | |
Functions | |
CEYLAN_DLL void | checkForSupportedFeatures (Ceylan::Flags featuresFlag) |
Checks that the version of the Ceylan library currently linked supports the specified feature(s). | |
CEYLAN_DLL bool | areRegularExpressionsSupported () |
Tells whether regular expressions are supported. | |
CEYLAN_DLL bool | isMultithreadingSupported () |
Tells whether multithreading is supported. | |
CEYLAN_DLL bool | isNetworkingSupported () |
Tells whether network operations are supported. | |
CEYLAN_DLL bool | areFileDescriptorsSupported () |
Tells whether file descriptors are supported. | |
CEYLAN_DLL bool | areSymbolicLinksSupported () |
Tells whether symbolic links are supported. | |
CEYLAN_DLL bool | areAdvancedFileAttributesSupported () |
Tells whether advanced file attributes are supported. | |
CEYLAN_DLL bool | areFileLocksSupported () |
Tells whether file locks are supported. | |
CEYLAN_DLL bool | isAdvancedProcessManagementSupported () |
Tells whether advanced process management is supported. | |
CEYLAN_DLL bool | arePluginsSupported () |
Tells whether plugins are supported. | |
CEYLAN_DLL bool | areSignalsSupported () |
Tells whether signals are supported. | |
CEYLAN_DLL const std::string | describeAvailableFeatures () |
Returns a textual description of the optional features available with the Ceylan version currently linked. | |
Variables | |
CEYLAN_DLL const Ceylan::Flags | RegularExpressions = 0x00000001 |
Designates the regular expression support feature. | |
CEYLAN_DLL const Ceylan::Flags | Multithreading = 0x00000002 |
Designates the multithreading support feature. | |
CEYLAN_DLL const Ceylan::Flags | Networking = 0x00000004 |
Designates the network support feature. | |
CEYLAN_DLL const Ceylan::Flags | FileDescriptors = 0x00000008 |
Designates the file descriptor feature. | |
CEYLAN_DLL const Ceylan::Flags | SymbolicLinks = 0x00000010 |
Designates the symbolic link feature. | |
CEYLAN_DLL const Ceylan::Flags | AdvancedFileAttributes = 0x00000020 |
Designates the advanced file attribute feature, which includes the management, for filesystem elements, of additional:
| |
CEYLAN_DLL const Ceylan::Flags | FileLocks = 0x00000040 |
Designates the file lock feature, for reading and/or writing. | |
CEYLAN_DLL const Ceylan::Flags | AdvancedProcessManagement = 0x00000080 |
Designates the advanced process management feature, for fine-grained featureful process control. | |
CEYLAN_DLL const Ceylan::Flags | Plugins = 0x00000100 |
Designates the plugin feature, for dynamic loading a shared objects. | |
CEYLAN_DLL const Ceylan::Flags | Signals = 0x00000200 |
Designates the signal feature, for UNIX-style process signals. |
Current known features are:
bool Ceylan::Features::areAdvancedFileAttributesSupported | ( | ) |
Tells whether advanced file attributes are supported.
Definition at line 344 of file CeylanFeatures.cc.
References generalUtils::false, and generalUtils::true.
Referenced by checkForSupportedFeatures(), and describeAvailableFeatures().
bool Ceylan::Features::areFileDescriptorsSupported | ( | ) |
Tells whether file descriptors are supported.
Definition at line 318 of file CeylanFeatures.cc.
References generalUtils::false, and generalUtils::true.
Referenced by checkForSupportedFeatures(), and describeAvailableFeatures().
bool Ceylan::Features::areFileLocksSupported | ( | ) |
Tells whether file locks are supported.
Definition at line 357 of file CeylanFeatures.cc.
References generalUtils::false, and generalUtils::true.
Referenced by checkForSupportedFeatures(), and describeAvailableFeatures().
bool Ceylan::Features::arePluginsSupported | ( | ) |
Tells whether plugins are supported.
Definition at line 383 of file CeylanFeatures.cc.
References generalUtils::false, and generalUtils::true.
Referenced by checkForSupportedFeatures(), and describeAvailableFeatures().
bool Ceylan::Features::areRegularExpressionsSupported | ( | ) |
Tells whether regular expressions are supported.
Definition at line 279 of file CeylanFeatures.cc.
References generalUtils::false, and generalUtils::true.
Referenced by checkForSupportedFeatures(), and describeAvailableFeatures().
bool Ceylan::Features::areSignalsSupported | ( | ) |
Tells whether signals are supported.
Definition at line 396 of file CeylanFeatures.cc.
References generalUtils::false, and generalUtils::true.
Referenced by checkForSupportedFeatures(), and describeAvailableFeatures().
bool Ceylan::Features::areSymbolicLinksSupported | ( | ) |
Tells whether symbolic links are supported.
Definition at line 331 of file CeylanFeatures.cc.
References generalUtils::false, and generalUtils::true.
Referenced by checkForSupportedFeatures(), and describeAvailableFeatures().
void Ceylan::Features::checkForSupportedFeatures | ( | Ceylan::Flags | featuresFlag | ) |
Checks that the version of the Ceylan library currently linked supports the specified feature(s).
featuresFlag | an OR'd flag of the requested features, for example: 'MyFeature | MyOtherFeature' |
FeatureNotAvailableException | if at least one of the specified features is not supported. |
Definition at line 179 of file CeylanFeatures.cc.
References AdvancedFileAttributes, AdvancedProcessManagement, areAdvancedFileAttributesSupported(), areFileDescriptorsSupported(), areFileLocksSupported(), arePluginsSupported(), areRegularExpressionsSupported(), areSignalsSupported(), areSymbolicLinksSupported(), FileDescriptors, FileLocks, isAdvancedProcessManagementSupported(), isMultithreadingSupported(), isNetworkingSupported(), Multithreading, Networking, RegularExpressions, Signals, and SymbolicLinks.
const std::string Ceylan::Features::describeAvailableFeatures | ( | ) |
Returns a textual description of the optional features available with the Ceylan version currently linked.
Definition at line 408 of file CeylanFeatures.cc.
References areAdvancedFileAttributesSupported(), areFileDescriptorsSupported(), areFileLocksSupported(), arePluginsSupported(), areRegularExpressionsSupported(), areSignalsSupported(), areSymbolicLinksSupported(), Ceylan::formatStringList(), isAdvancedProcessManagementSupported(), isMultithreadingSupported(), and isNetworkingSupported().
bool Ceylan::Features::isAdvancedProcessManagementSupported | ( | ) |
Tells whether advanced process management is supported.
Definition at line 370 of file CeylanFeatures.cc.
References generalUtils::false, and generalUtils::true.
Referenced by checkForSupportedFeatures(), and describeAvailableFeatures().
bool Ceylan::Features::isMultithreadingSupported | ( | ) |
Tells whether multithreading is supported.
Definition at line 292 of file CeylanFeatures.cc.
References generalUtils::false, and generalUtils::true.
Referenced by checkForSupportedFeatures(), and describeAvailableFeatures().
bool Ceylan::Features::isNetworkingSupported | ( | ) |
Tells whether network operations are supported.
Definition at line 305 of file CeylanFeatures.cc.
References generalUtils::false, and generalUtils::true.
Referenced by checkForSupportedFeatures(), and describeAvailableFeatures().
const Flags Ceylan::Features::AdvancedFileAttributes = 0x00000020 |
Designates the advanced file attribute feature, which includes the management, for filesystem elements, of additional:
Definition at line 114 of file CeylanFeatures.cc.
Referenced by checkForSupportedFeatures().
const Flags Ceylan::Features::AdvancedProcessManagement = 0x00000080 |
Designates the advanced process management feature, for fine-grained featureful process control.
Definition at line 136 of file CeylanFeatures.cc.
Referenced by checkForSupportedFeatures().
const Flags Ceylan::Features::FileDescriptors = 0x00000008 |
Designates the file descriptor feature.
If this feature is enabled, then the Ceylan library will be able to provide file descriptor management, including select operations, direct copies, InputStream abstraction for files, sockets, pipes, etc.
Definition at line 92 of file CeylanFeatures.cc.
Referenced by checkForSupportedFeatures().
const Flags Ceylan::Features::FileLocks = 0x00000040 |
Designates the file lock feature, for reading and/or writing.
Definition at line 125 of file CeylanFeatures.cc.
Referenced by checkForSupportedFeatures().
const Flags Ceylan::Features::Multithreading = 0x00000002 |
Designates the multithreading support feature.
If this feature is enabled, then the Ceylan library will provide a basic thread support.
Definition at line 70 of file CeylanFeatures.cc.
Referenced by checkForSupportedFeatures().
const Flags Ceylan::Features::Networking = 0x00000004 |
Designates the network support feature.
If this feature is enabled, then the Ceylan library will provide a basic networking support, including abstractions of low-level communication objects (namey, sockets) and higher-level base classes, such as generic clients, servers, and basic custom-made RPC-style primitives, a.k.a. Ceylan middleware.
Definition at line 81 of file CeylanFeatures.cc.
Referenced by checkForSupportedFeatures().
const Flags Ceylan::Features::Plugins = 0x00000100 |
Designates the plugin feature, for dynamic loading a shared objects.
Definition at line 147 of file CeylanFeatures.cc.
const Flags Ceylan::Features::RegularExpressions = 0x00000001 |
Designates the regular expression support feature.
If this feature is enabled, then the Ceylan library will make use of the regex-provided primitives whenever needed.
Definition at line 59 of file CeylanFeatures.cc.
Referenced by checkForSupportedFeatures().
const Flags Ceylan::Features::Signals = 0x00000200 |
Designates the signal feature, for UNIX-style process signals.
Definition at line 158 of file CeylanFeatures.cc.
Referenced by checkForSupportedFeatures().
const Flags Ceylan::Features::SymbolicLinks = 0x00000010 |
Designates the symbolic link feature.
If this feature is enabled, then the Ceylan library will be able to provide symbolic management management, including creation, dereferencement, etc.
Definition at line 103 of file CeylanFeatures.cc.
Referenced by checkForSupportedFeatures().