odm_add_obj Subroutine
Purpose
Adds a new object into an object class.
Library
Object Data Manager Library (libodm.a)
Syntax
#include <odmi.h>
CLASS_SYMBOL ClassSymbol;
struct ClassName *DataStructure;
Description
The odm_add_obj subroutine takes as input the class symbol that identifies both the object class to add and a pointer to the data structure containing the object to be added.
The odm_add_obj subroutine opens and closes the object class around the subroutine if the object class was not previously opened. If the object class was previously opened, the subroutine leaves the object class open when it returns.
Parameters
Item | Description |
---|---|
ClassSymbol | Specifies a class symbol identifier returned from an odm_open_class subroutine. If the odm_open_class subroutine has not been called, then this identifier is the ClassName_CLASS structure that was created by the odmcreate command. |
DataStructure | Specifies a pointer to an instance of the C language structure corresponding to the object class referenced by the ClassSymbol parameter. The structure is declared in the .h file created by the odmcreate command and has the same name as the object class. |
Return Values
Upon successful completion, an identifier for the object that was added is returned. If the odm_add_obj subroutine is unsuccessful, a value of -1 is returned and the odmerrno variable is set to an error code.
Error Codes
Failure of the odm_add_obj subroutine sets the odmerrno variable to one of the following error codes:
- ODMI_CLASS_DNE
- ODMI_CLASS_PERMS
- ODMI_INVALID_CLXN
- ODMI_INVALID_PATH
- ODMI_MAGICNO_ERR
- ODMI_OPEN_ERR
- ODMI_PARAMS
- ODMI_READ_ONLY
- ODMI_TOOMANYCLASSES
See Object Data Manager (ODM) error codes for explanations of the ODM error codes.