SYNOPSIS

#include <smi.h>

SmiClass *smiGetClass(SmiModule *smiModulePtr, char *name);

SmiClass *smiGetFirstClass(SmiModule *smiModulePtr);

SmiClass *smiGetNextClass(SmiClass *smiClassPtr);

SmiClass *smiGetParentClass(SmiClass *smiClassPtr);

SmiModule *smiGetClassModule(SmiClass *smiClassPtr);

int smiIsClassScalar(SmiClass *smiClassPtr);

typedef struct SmiClass {

    SmiIdentifier       name;
    SmiDecl             decl;
    SmiStatus           status;
    char                *description;
    char                *reference;

} SmiClass;

DESCRIPTION

These functions retrieve information on a SMIng class definition (SMIng).

smiGetClass(SmiModule *smiModulePtr,char *name) returns a pointer to struct SmiClass that represents the class with the given name in the given module(smiModulePtr ), or NULL if the class with the given name does not exist.

smiGetFirstClass(SmiModule *smiModulePtr) and smiGetNextClass(SmiClass *smiClassPtr) are used to iterate through the classes of the module given by smiModulePtr. They return a pointer to struct SmiClass that represents a class or NULL if there are no classes left in the module, or error has occurred.

smiGetClassModule(SmiClass *smiClassPtr) returns a pointer to struct SmiModule, of the module containing the given class.

smiGetParentClass(SmiClass *smiClassPtr) returns a pointer to struct SmiClass pointing to the parent of the given smiClassPtr, or NULL if the class is not derived.

smiIsClassScalar(SmiClass *smiClassPtr) returns int 1 if the class is scalar(its unique statement contains an empty list) or 0 otherwise. This method can be used in conjunction with smiGetFirstUniqueAttribute() to determine whether the class is meant to be instantiated separately (has unique statement with nonempty list), or if it is meant to be used as part of another class (has no unique statement).

FILES

${prefix}/include/smi.h    SMI library header file

RELATED TO smiGetClassModule…

AUTHOR

(C) 2007 Kaloyan Kanev, Jacobs University, Germany <[email protected]>