ObjectClassAttribute Class Reference

#include <ObjectClassAttribute.hh>

Inheritance diagram for ObjectClassAttribute:

Inheritance graph
[legend]

List of all members.

Public Types

typedef std::set< FederateHandlePublishersList_t
 A set of federate handles.

Public Member Functions

 ObjectClassAttribute (const std::string theName, TransportType theTransport, OrderType theOrder)
 ObjectClassAttribute (ObjectClassAttribute *source)
 Constructor : Copy Handle, Name, Space, Order and Transport.
virtual ~ObjectClassAttribute ()
 Destructor.
void display () const
 Displays the attribute information (handle, name and level id).
void setHandle (AttributeHandle h)
AttributeHandle getHandle () const
void setSpace (SpaceHandle)
SpaceHandle getSpace () const
virtual void checkFederateAccess (FederateHandle the_federate, const char *reason) const
bool isPublishing (FederateHandle) const
 returns true if federate is publishing this attribute
void publish (FederateHandle) throw (RTIinternalError, SecurityError)
 publish
void unpublish (FederateHandle) throw (RTIinternalError, SecurityError)
 unpublish
void updateBroadcastList (ObjectClassBroadcastList *ocb_list, const RTIRegion *region=0)
 Add all attribute's subscribers to the broadcast list.
PublishersList_t getPublishers (void)
 Getter for the attributes publisher list.

Public Attributes

SecurityLevelID level
OrderType order
TransportType transport
SecurityServerserver

Private Member Functions

 ObjectClassAttribute ()
 No parameters constructor.
void deletePublisher (FederateHandle)
 Removes a publishing federate.

Private Attributes

AttributeHandle handle
 The attribute handle.
SpaceHandle space
 Routing space.
PublishersList_t publishers
 The publisher's list.


Detailed Description

This class descrives an object class attribute (handle, level id, ordering, transportation mode and name). This class also keeps track of published and subscribed federates.

Definition at line 48 of file ObjectClassAttribute.hh.


Member Typedef Documentation

typedef std::set<FederateHandle> PublishersList_t

A set of federate handles.

The corresponding federates are publishers of the object class attribute.

Definition at line 55 of file ObjectClassAttribute.hh.


Constructor & Destructor Documentation

ObjectClassAttribute ( const std::string  theName,
TransportType  theTransport,
OrderType  theOrder 
)

Definition at line 43 of file ObjectClassAttribute.cc.

References Named::setName().

Here is the call graph for this function:

~ObjectClassAttribute (  )  [virtual]

Destructor.

Definition at line 76 of file ObjectClassAttribute.cc.

ObjectClassAttribute (  )  [private]

No parameters constructor.

This constructor initialize the attribute with default parameters.

Definition at line 52 of file ObjectClassAttribute.cc.


Member Function Documentation

void display (  )  const

Displays the attribute information (handle, name and level id).

Definition at line 108 of file ObjectClassAttribute.cc.

References ObjectClassAttribute::handle, ObjectClassAttribute::level, and Named::name.

void setHandle ( AttributeHandle  h  ) 

Definition at line 166 of file ObjectClassAttribute.cc.

References ObjectClassAttribute::handle.

Referenced by ObjectClass::addAttribute().

AttributeHandle getHandle (  )  const [virtual]

void setSpace ( SpaceHandle  h  ) 

Definition at line 180 of file ObjectClassAttribute.cc.

References ObjectClassAttribute::space.

SpaceHandle getSpace (  )  const

void checkFederateAccess ( FederateHandle  fed,
const char *  reason 
) const [virtual]

Throw SecurityError if the Federate is not allowed to access the Object Class, and print an Audit message containing Reason.

Implements Subscribable.

Definition at line 85 of file ObjectClassAttribute.cc.

References SecurityServer::canFederateAccessData(), ObjectClassAttribute::handle, ObjectClassAttribute::level, and ObjectClassAttribute::server.

Referenced by ObjectClassAttribute::publish().

Here is the call graph for this function:

bool isPublishing ( FederateHandle  fed  )  const

void publish ( FederateHandle  fed  )  throw (RTIinternalError, SecurityError)

void unpublish ( FederateHandle  fed  )  throw (RTIinternalError, SecurityError)

unpublish

Definition at line 149 of file ObjectClassAttribute.cc.

References certi::D, ObjectClassAttribute::deletePublisher(), ObjectClassAttribute::handle, ObjectClassAttribute::isPublishing(), pdError, and pdTerm.

Referenced by ObjectClass::publish().

Here is the call graph for this function:

void updateBroadcastList ( ObjectClassBroadcastList ocb_list,
const RTIRegion region = 0 
)

ObjectClassAttribute::PublishersList_t getPublishers ( void   ) 

Getter for the attributes publisher list.

param[out] PublishersList_t

See also:
ObjectClassAttribute::PublisherList_t

Definition at line 216 of file ObjectClassAttribute.cc.

References ObjectClassAttribute::publishers.

void deletePublisher ( FederateHandle  fed  )  [private]

Removes a publishing federate.

Definition at line 98 of file ObjectClassAttribute.cc.

References ObjectClassAttribute::publishers.

Referenced by ObjectClassAttribute::unpublish().


Member Data Documentation

Definition at line 89 of file ObjectClassAttribute.hh.

Referenced by ObjectClassAttribute::ObjectClassAttribute().

Definition at line 90 of file ObjectClassAttribute.hh.

Referenced by ObjectClassAttribute::ObjectClassAttribute().

SpaceHandle space [private]


The documentation for this class was generated from the following files:

Generated on Thu Apr 30 15:58:06 2009 for CERTIDeveloperDocumentation by doxygen 1.5.5