Namespaces | |
namespace | ports |
Classes | |
class | AbstractFramework |
Memory lifecycle:. More... | |
class | Component |
Component object model that all Components wishing to use the boost/STL-based memory model must use. More... | |
class | ComponentID |
An opaque handle for a component. More... | |
class | ComponentRelease |
class | ConnectionID |
This interface describes a CCA connection between components. More... | |
class | Exception |
This class extends the STL std::exception to allow the thrower to specify the message that the stl says we return via what(). More... | |
class | Port |
A pure-virtual tag interface to identify a function set capable of being exported to or imported from a CCA component. More... | |
class | Services |
The handle through which the component communicates with its containing framework. More... | |
class | TypeMap |
A CCA typed hash map. More... | |
class | TypeMismatchException |
Exception occuring when a get or put operation specifies incorrect data type for a given key already defined in the map. More... | |
class | Version |
runtime version info for queries. More... | |
Typedefs | |
typedef Port * | Port_p |
typedef Port * | Port_ptr |
typedef Component * | Component_p |
typedef Component * | Component_ptr |
typedef Services * | Services_p |
typedef Services * | Services_ptr |
typedef TypeMap * | TypeMap_p |
typedef TypeMap * | TypeMap_ptr |
typedef ComponentID * | ComponentID_p |
typedef ComponentID * | ComponentID_ptr |
typedef ConnectionID * | ConnectionID_p |
typedef ConnectionID * | ConnectionID_ptr |
typedef boost::shared_ptr < ComponentID > | ComponentID_shared |
This typedef is the type everyone should use everywhere in the BuilderService and event related ports. | |
typedef boost::shared_ptr < ConnectionID > | ConnectionID_shared |
This typedef is the type everyone should use everywhere in the BuilderService and event related ports. | |
typedef boost::shared_ptr < TypeMap > | TypeMap_shared |
This (TypeMap_shared) is what everyone declares in component code and noone ever calls new on. | |
Enumerations | |
enum | ExceptionType { Unexpected = -1, Nonstandard = 1, PortNotDefined = 2, PortAlreadyDefined = 3, PortNotConnected = 4, PortNotInUse = 5, UsesPortNotReleased = 6, BadPortName = 7, BadPortType = 8, BadProperties = 9, BadPortInfo = 10, OutOfMemory = 11, NetworkError = 12 } |
Types of cca framework exception so far, other than typemismatch. More... | |
enum | Type { NoType = -1, Int = 1, Long = 2, Float = 3, Double = 4, Fcomplex = 5, Dcomplex = 6, String = 7, Bool = 8, IntArray = 21, LongArray = 22, FloatArray = 23, DoubleArray = 24, FcomplexArray = 25, DcomplexArray = 26, StringArray = 27, BoolArray = 28 } |
Mapping of sidl/java primitive types and arrays to occuring in the TypeMap interface to integers. More... |
typedef Port* neo::cca::Port_p |
typedef Port* neo::cca::Port_ptr |
typedef Component* neo::cca::Component_p |
typedef Component* neo::cca::Component_ptr |
typedef Services* neo::cca::Services_p |
typedef Services* neo::cca::Services_ptr |
typedef TypeMap* neo::cca::TypeMap_p |
typedef TypeMap* neo::cca::TypeMap_ptr |
typedef ComponentID* neo::cca::ComponentID_p |
typedef ComponentID* neo::cca::ComponentID_ptr |
typedef ConnectionID* neo::cca::ConnectionID_p |
typedef ConnectionID* neo::cca::ConnectionID_ptr |
typedef boost::shared_ptr< ComponentID > neo::cca::ComponentID_shared |
This typedef is the type everyone should use everywhere in the BuilderService and event related ports.
For practical purposes the memory lifecycle is as follows: Memory lifecycle: The framework creates items of type ComponentID_shared and they get shoveled around to all comers by BuilderServices and related ports. The component writer simply fetches and uses ComponentID_shared as if they are an STL type like std::string that is self-managing on the stack memory-wise. There is no destroyComponentID function in any interface. The user should not delete a ComponentID_shared. Where possible and sensible, ComponentID_shared items are passed by reference. Boost will take care of deleting a ComponentID on last reference going out of scope.
Anyone caught calling ComponentID.get() {unwrapping the shared_ptr} will be summarily shot. As ComponentID_shared is never cast to anything else, the oddity of the shared_ptr dynamic_cast does not impinge on the component writer.
typedef boost::shared_ptr< ConnectionID > neo::cca::ConnectionID_shared |
This typedef is the type everyone should use everywhere in the BuilderService and event related ports.
For practical purposes the memory lifecycle is as follows: Memory lifecycle: The framework creates items of type ConnectionID and they get shoveled around to all comers by BuilderServices and related ports. The component writer simply fetches and uses ConnectionIDs as if they are an STL type like std::string that is self-managing on the stack memory-wise. There is no destroyConnectionID function in any interface. Where possible and sensible, ConnectionID items are passed by reference. Boost will take care of deleting a ConnectionID on last reference going out of scope.
Anyone caught calling ConnectionID.get() {unwrapping the shared_ptr} will be summarily shot. As ConnectionID is never cast to anything else, the oddity of the shared_ptr dynamic_cast does not impinge on the component writer.
typedef boost::shared_ptr<TypeMap> neo::cca::TypeMap_shared |
This (TypeMap_shared) is what everyone declares in component code and noone ever calls new on.
TypeMap_shared is obtained from Services::createTypeMap or as the return from some other function.
Types of cca framework exception so far, other than typemismatch.
Note the names here must never overlap those of Type in the same namespace because of the way enums work in c++. If we choose to change it from an enum to a java style all static int class, it would be a bit less safe and a bit less cryptic in the compiler/debugger messages.
Unexpected | |
Nonstandard | |
PortNotDefined | |
PortAlreadyDefined | |
PortNotConnected | |
PortNotInUse | |
UsesPortNotReleased | |
BadPortName | |
BadPortType | |
BadProperties | |
BadPortInfo | |
OutOfMemory | |
NetworkError |
00017 { 00018 Unexpected = -1, 00019 Nonstandard = 1, 00020 PortNotDefined = 2, 00021 PortAlreadyDefined = 3, 00022 PortNotConnected = 4, 00023 PortNotInUse = 5, 00024 UsesPortNotReleased = 6, 00025 BadPortName = 7, 00026 BadPortType = 8, 00027 BadProperties = 9, 00028 BadPortInfo = 10, 00029 OutOfMemory = 11, 00030 NetworkError = 12 00031 };
enum neo::cca::Type |
Mapping of sidl/java primitive types and arrays to occuring in the TypeMap interface to integers.
The values in this enum must not overlap names with ExceptionType.
00014 { 00020 NoType = -1, 00021 00023 Int = 1, 00024 00026 Long = 2, 00027 00029 Float = 3, 00030 00032 Double = 4, 00033 00035 Fcomplex = 5, 00036 00038 Dcomplex = 6, 00039 00041 String = 7, 00042 00044 Bool = 8, 00045 00047 IntArray = 21, 00048 00050 LongArray = 22, 00051 00053 FloatArray = 23, 00054 00056 DoubleArray = 24, 00057 00059 FcomplexArray = 25, 00060 00062 DcomplexArray = 26, 00063 00065 StringArray = 27, 00066 00068 BoolArray = 28, 00069 00070 } ; // end enum Type