Ceylan::Features Namespace Reference

Optional features can be requested and used, if available. More...


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:
  • opening flags (non-blocking/synchronous)
  • file attributes (beyond 'owner' permissions: 'group' and 'other').

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.


Detailed Description

Optional features can be requested and used, if available.

Current known features are:


Function Documentation

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).

Parameters:
featuresFlag an OR'd flag of the requested features, for example: 'MyFeature | MyOtherFeature'
Exceptions:
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 (  ) 

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().


Variable Documentation

Designates the advanced file attribute feature, which includes the management, for filesystem elements, of additional:

  • opening flags (non-blocking/synchronous)
  • file attributes (beyond 'owner' permissions: 'group' and 'other').

Definition at line 114 of file CeylanFeatures.cc.

Referenced by checkForSupportedFeatures().

Designates the advanced process management feature, for fine-grained featureful process control.

Definition at line 136 of file CeylanFeatures.cc.

Referenced by checkForSupportedFeatures().

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().

Designates the multithreading support feature.

If this feature is enabled, then the Ceylan library will provide a basic thread support.

Note:
This do not imply that the Ceylan library itself will be multithread-proof, reentrant and/or protected against concurrent accesses.

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.

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().

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().


Generated on Thu Jun 4 20:40:22 2009 for Ceylan by  doxygen 1.5.8