Defines

maciPropertyDefines.h File Reference

Go to the source code of this file.

Defines

#define MACI_PROPERTY(IdlAccessor, CppImplVar)

Detailed Description

This file contains macros that are very helpful in creating distributed objects.


Define Documentation

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

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.