Classes | Namespaces | Defines

baciCharacteristicComponentImpl.h File Reference

#include <vector>
#include <baci.h>
#include <baciCORBA.h>
#include <acsutil.h>
#include <acscomponentImpl.h>
#include <baciCharacteristicModelImpl.h>
#include <acsErrTypeLifeCycle.h>
Include dependency graph for baciCharacteristicComponentImpl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  baci::CharacteristicComponentImpl

Namespaces

namespace  baci

Defines

#define CHARACTERISTIC_COMPONENT_PROPERTY(IdlAccessor, CppImplVar)

Detailed Description

Header file BACI Characteristic Component.

The ACE NAMESPACE_USE() macro is equivalent to the use C++ directive, but allows namespace support for compilers that do not have it natively (i.e., GCC 2.95 for VxWorks). This is the include file for CharacteristicComponent which is the base class for all DO's within ALMA.


Define Documentation

#define CHARACTERISTIC_COMPONENT_PROPERTY (   IdlAccessor,
  CppImplVar 
)
Value:
if (CppImplVar == 0) return; \
    else if (CppImplVar->initialization() == 1) \
        return; \
    { \
     \
    desc_m->properties.length(desc_m->properties.length()+1); \
    desc_m->properties[desc_m->properties.length()-1].property_ref = this->IdlAccessor(); \
    desc_m->properties[desc_m->properties.length()-1].name = CppImplVar->name(); \
    desc_m->properties[desc_m->properties.length()-1].characteristics = CppImplVar->get_all_characteristics(); \
    }

This macro checks to see if a property object has been created and initialized correctly. It should normally be put in the distributed object's constructor after creating each new property.

Also adds property information to a vector that is then used to define the descriptor. Use this macro for each of the properties.

Parameters:
IdlAccessor Name of the property located in the IDL file. This is also the name of the C++ method that must be implemented to acccess the IDL property.
CppImplVariable Name of the C++ variable used in the C++ method for each IDL property. CORBA poses no restrictions on the name of this variable although the "C++ Coding Standards" document does.