OpenDOF Project
Modules | Data Structures | Typedefs | Enumerations | Functions | Variables
DOFObjectID
Distributed Object Framework (DOF)

DOF Object Identifier. More...

Modules

 DOFObjectIDAttribute
 The Attribute class is used to retrieve attributes from a DOFObjectID.
 
 DOFObjectIDAuthentication
 The DOFObjectIDAuthentication class represents a DOFObjectID used for authentication.
 
 DOFObjectIDDomain
 The DOFObjectIDDomain class represents a DOFObjectID used to identify a domain.
 
 DOFObjectIDSource
 The DOFObjectIDSource class represents a DOFObjectID used to identify a source of network operations.
 

Data Structures

struct  DOFObjectIDList
 DOF ObjectID List structure. More...
 

Typedefs

typedef uint32 DOFObjectIDSize
 DOF Object Identifier storage size type.
 
typedef uint8 DOFObjectIDDataSize
 DOF Object Identifier data field size type.
 
typedef uint8 DOFObjectIDAttributeDataSize
 DOF Object Identifier Attribute size type.
 
typedef uint32 DOFObjectIDClass
 DOF Object ID Class representation.
 
typedef struct DOFObjectID_t * DOFObjectID
 DOF Object Identifier.
 
typedef struct
DOFObjectIDDomain_t * 
DOFObjectIDDomain
 DOF Domain Identifier.
 
typedef struct
DOFObjectIDSource_t * 
DOFObjectIDSource
 DOF Source Identifier.
 
typedef struct
DOFObjectIDAuthentication_t * 
DOFObjectIDAuthentication
 DOF Authentication Identifier.
 

Enumerations

enum  DOFObjectIDClass_t {
  DOFOBJECTIDCLASS_BROADCAST,
  DOFOBJECTIDCLASS_MAC,
  DOFOBJECTIDCLASS_EMAIL,
  DOFOBJECTIDCLASS_IPV4,
  DOFOBJECTIDCLASS_IPV6,
  DOFOBJECTIDCLASS_DOMAIN,
  DOFOBJECTIDCLASS_LODLC,
  DOFOBJECTIDCLASS_AS,
  DOFOBJECTIDCLASS_EUI48,
  DOFOBJECTIDCLASS_EUI64,
  DOFOBJECTIDCLASS_HIDLC,
  DOFOBJECTIDCLASS_SMART_ENERGY_SYSTEM_SERIAL_NUMBER,
  DOFOBJECTIDCLASS_AWS_RESOURCE_ID,
  DOFOBJECTIDCLASS_IMEI,
  DOFOBJECTIDCLASS_ODP,
  DOFOBJECTIDCLASS_GUID,
  DOFOBJECTIDCLASS_ODP_STRING,
  DOFOBJECTIDCLASS_PANASONIC_SEBD_FUEL_CELL,
  DOFOBJECTIDCLASS_ECHONET_LITE_NODE_ID
}
 DOF Object Identifier Classification codes, used for defining the format of an Object ID. More...
 

Functions

DOFObjectID DOFObjectID_Create (DOFObjectIDClass idClass, uint32 dataSize, const uint8 *data)
 Create a new DOFObjectID from a given class and data.
 
DOFObjectID DOFObjectID_Create_String (DOFObjectIDClass idClass, const char *data)
 Create a new DOFObjectID from a given class and data string.
 
DOFObjectID DOFObjectID_Copy (const DOFObjectID self)
 Create a new copy of an existing DOFObjectID.
 
DOFObjectID DOFObjectID_Create_Bytes (uint32 bufferSize, const uint8 *buffer)
 Create a DOFObjectID from a given DOFObjectID buffer.
 
const uint8DOFObjectID_GetBytes (const DOFObjectID self)
 Get pointer to the standardized wire-format bytes of the DOFObjectID.
 
DOFObjectIDSize DOFObjectID_GetBytesSize (const DOFObjectID self)
 Return the standardized wire-format length of the DOFObjectID.
 
DOFObjectID DOFObjectID_Create_AttributeBuffer (const DOFObjectID self, const DOFObjectIDAttributeType type, uint32 attributeDataSize, const uint8 *attributeData)
 Create a new DOFObjectID by augmenting an existing DOFObjectID with specified Attribute type and a value buffer.
 
DOFObjectID DOFObjectID_Create_AttributeString (const DOFObjectID self, const DOFObjectIDAttributeType type, const char *attributeString)
 Create a new DOFObjectID by augmenting an existing DOFObjectID with specified Attribute type and a string.
 
DOFObjectID DOFObjectID_Create_AttributeObjectID (const DOFObjectID self, const DOFObjectIDAttributeType type, const DOFObjectID objectID)
 Create a new DOFObjectID by augmenting an existing DOFObjectID with specified Attribute type and a DOFObjectID.
 
void DOFObjectID_Destroy (DOFObjectID self)
 Destroy a DOFObjectID.
 
DOFObjectID DOFObjectID_Create_StandardString (const char *data)
 Create a new DOFObjectID using its standard string representation.
 
char * DOFObjectID_CreateStandardString (const DOFObjectID self)
 Convert a DOFObjectID into its standard string representation.
 
int32 DOFObjectID_Compare (const DOFObjectID oid1, const DOFObjectID oid2)
 Compare two DOFObjectID's.
 
boolean DOFObjectID_IsEqual (const DOFObjectID self, const DOFObjectID objectID)
 Compare two DOFObjectID's for equality, including Attribute extensions.
 
int32 DOFObjectID_CompareIgnoreAttributes (const DOFObjectID oid1, const DOFObjectID oid2)
 Compare two DOFObjectOIDs, excluding attribute extensions.
 
boolean DOFObjectID_IsEqualIgnoreAttributes (const DOFObjectID self, const DOFObjectID objectID)
 Compare two DOFObjectOIDs, excluding Attribute extensions.
 
int32 DOFObjectID_CompareIgnoreBase (const DOFObjectID oid1, const DOFObjectID oid2)
 Compare the attribute extensions of two DOFObjectOIDs, excluding the base ID.
 
boolean DOFObjectID_MatchesAtLeast (const DOFObjectID self, const DOFObjectID objectID)
 Compare two DOFObjectID's for sufficient match, including Attribute extensions.
 
DOFObjectIDClass DOFObjectID_GetIDClass (const DOFObjectID self)
 Get the class of a DOFObjectID.
 
const uint8DOFObjectID_GetData (const DOFObjectID self)
 Get pointer to the data field of the base DOFObjectID.
 
DOFObjectIDDataSize DOFObjectID_GetDataSize (const DOFObjectID self)
 Get the number of bytes comprising the data field of a DOFObjectID.
 
boolean DOFObjectID_HasAttributes (const DOFObjectID self)
 Ask if a DOFObjectID includes Attribute extensions.
 
boolean DOFObjectID_HasAttribute (const DOFObjectID self, const DOFObjectIDAttributeType type)
 Ask if a DOFObjectID includes an Attribute extension having a specific ID.
 
DOFObjectIDAttribute DOFObjectID_GetAttribute (const DOFObjectID self, const DOFObjectIDAttributeType type)
 From a DOFObjectID, get an Attribute extension having a specific ID.
 
DOFObjectIDAttribute DOFObjectID_GetAttributeAtIndex (const DOFObjectID self, uint8 index)
 Get the N'th Attribute extension of a DOFObjectID.
 
uint8 DOFObjectID_GetAttributeCount (const DOFObjectID self)
 Get the count of attributes associated with a DOFObjectID.
 
boolean DOFObjectID_IsBroadcast (const DOFObjectID self)
 Determine if the DOFObjectID is of class DOFOBJECTIDCLASS_BROADCAST and has no attributes.
 
boolean DOFObjectID_IsMulticast (const DOFObjectID self)
 Determine if the DOFObjectID is of class DOFOBJECTIDCLASS_BROADCAST and has at least one attribute.
 
boolean DOFObjectID_IsUnicast (const DOFObjectID self)
 Determine if the DOFObjectID is a unicast DOFObjectID (neither a broadcast nor a multicast DOFObjectID).
 
uint32 DOFObjectID_GetMarshalSize (const DOFObjectID self)
 Get the number of bytes required in a buffer to marshal a DOFObjectID.
 
uint32 DOFObjectID_Marshal (const DOFObjectID self, uint32 length, uint8 *buffer)
 Marshal a DOFObjectID into an existing buffer.
 
DOFObjectID DOFObjectID_Unmarshal (uint32 *length, const uint8 *buffer)
 Create a new DOFObjectID from a given byte representation of DOFObjectID.
 
void DOFObjectIDList_Destroy (DOFObjectIDList oidList)
 Release resources previously allocated while forming a DOFObjectID list.
 

Variables

DOFObjectID DOFOBJECTID_BROADCAST
 The C OAL provides and maintains this broadcast Object ID, so applications need not create/destroy their own.
 
DOFObjectIDDomain DOFOBJECTIDDOMAIN_BROADCAST
 The C OAL provides and maintains this broadcast domain Object ID, so applications need not create/destroy their own.
 

Detailed Description

DOF Object Identifier.

This class implements a DOF Object Identifier. A DOFObjectID may be a single ID unit of a specific class or it may be extended with one or more ID units called Attributes. It is self descriptive, allowing its ID class to be identified and its attribute extensions to be extracted.

DOFObjectIDs are immutable, and should be treated as such by the application. With the calls of this API, DOFObjectIDs are created by the system. It is up to the application to later destroy any DOFObjectID that it created.

core-c-dof-oal Version 8.0.1 Build 0
2018-01-22