#include <devicemanager.h>
Public Types | |
typedef std::vector< IfaceDescr > | IfaceList |
Public Member Functions | |
DeviceDescription () | |
DeviceDescription (const DeviceDescription &) | |
DeviceDescription & | operator= (const DeviceDescription &) |
~DeviceDescription () | |
bool | operator== (const DeviceDescription &d) const |
bool | operator< (const DeviceDescription &d) const |
const std::string & | name () const |
const std::string & | type () const |
const std::string & | extends () const |
const std::string & | type_escaped () const |
unsigned | nr_input_interfaces () const |
unsigned | nr_output_interfaces () const |
const DeviceDescription::IfaceList & | input_interfaces () const |
const DeviceDescription::IfaceList & | output_interfaces () const |
const PropertyList & | properties () const |
const Property::list_string & | libraries () const |
bool | isAbstract () const |
const std::string & | description () const |
void | toStream (std::ostream &os) const |
Static Public Member Functions | |
static std::string | typename_escape (const std::string &s) |
static std::string | typename_unescape (const std::string &s) |
Friends | |
class | DeviceManager |
Classes | |
class | IfaceDescr |
This class is a direct representation of a device description in a devicelist XML file. The data here is directly the data that was specified in the devicelist.dtd document type. Such a description contains
|
|
|
Constructor with empty values. |
|
Copy constructor (required because of pointer copying) |
|
Destructor. |
|
Copy assignment (required because of pointer copying) |
|
Comparison. Necessary for std::map instantiation. |
|
Comparison for sorting. Necessary for std::map instantiation. |
|
Returns the name of the device |
|
Returns the C++ type name of the device |
|
Returns the C++ type name of this device's base device, i.e. the one that this device is derived from or that this device extends. |
|
Returns the C++ type name of the device, but escaped to conform to XML ID-attribute production (i.e. without angular brackets lesser-than and greater-than, which makes a difference for template class names) |
|
Returns the number of input interfaces. |
|
Returns the number of output interfaces. |
|
Returns the list of string pairs that describe the input interfaces. The first element of each pair is the interface type, and the second element is the description. |
|
Returns the list of string pairs that describe the output interfaces. The first element of each pair is the interface type, and the second element is the description. |
|
Returns the PropertyList of the device. |
|
Returns the list of needed libraries for the device. |
|
Returns true if the device is abstract (i.e. you cannot instantiate a class of this type). |
|
Returns the textual description of this device |
|
writes a human-readable description to the given ostream. |
|
Escapes a C++ type name for XML encoding: By convention, we replace each opening triangle brace (lesser-than) "<" by a minus "-" and each closing triangle brace (greater-than) ">" by a dot. |
|
Unescapes a XML encoded C++ type name into normal C++ syntax: The escaping convention is that we replace each opening triangle brace (lesser-than) "<" by a minus "-" and each closing triangle brace (greater-than) ">" by a dot. |
|
|