neo::cca Namespace Reference


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 PortPort_p
typedef PortPort_ptr
typedef ComponentComponent_p
typedef ComponentComponent_ptr
typedef ServicesServices_p
typedef ServicesServices_ptr
typedef TypeMapTypeMap_p
typedef TypeMapTypeMap_ptr
typedef ComponentIDComponentID_p
typedef ComponentIDComponentID_ptr
typedef ConnectionIDConnectionID_p
typedef ConnectionIDConnectionID_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...

Detailed Description

This binding lives in C++ namespace neo::cca .


Typedef Documentation

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.


Enumeration Type Documentation

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.

Enumerator:
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 };

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.

Enumerator:
NoType  Undefined primitive type.

This Includes things like long double, short, unsigned, char, etc that are C-isms unknown in java.

Int  A signed, 32 bit int.

Long  A signed, 64 bit int.

Float  A 32 bit floating point number.

Double  A 64 bit floating point number.

Fcomplex  A 32x2 bit complex float number, a_f + b_f*i.

Dcomplex  A 64x2 bit complex float number, a_d + b_d*i.

String  A string, in the language native representation.

Bool  A boolean value in the language native representation.

IntArray  An array of Int.
LongArray  An array of Long.
FloatArray  An array of Float.
DoubleArray  An array of Double.
FcomplexArray  An array of Fcomplex.
DcomplexArray  An array of Dcomplex.
StringArray  An array of String.
BoolArray  An array of Bool.
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


Generated on Mon Sep 14 18:33:37 2009 for NEOCCA bindings Specification by  doxygen 1.5.9