Intel 05-1850-004 Sleep Apnea Machine User Manual


 
OA&M API for Linux Programming Guide — August 2005 19
4
4.Application Development
Guidelines
This chapter provides information about developing applications using the OA&M API. It includes
the following sections:
General Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Designing CT Bus Clocking Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Designing High Availability into Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.1 General Guidelines
The OA&M API contains four System Component classes:
CCTDomain
ICTNode
ICTBoard
ICTClockAgent
When an object is created from any one of these classes, the class member functions can be
invoked to provide information about the created object. However, classes in the OA&M API are
arranged in a hierarchy as shown in Figure 1, “OA&M API Classes”, on page 10. Only
CCTDomain objects can be directly instantiated. You must perform the following procedure to
instantiate System Component objects in the OA&M API:
1. Use the CCTDomain::CCTDomain( ) class constructor to instantiate an instance of the
CCTDomain class.
2. Use the CCTDomain::GetNode( ) function to get a pointer to an instance of the ICTNode
class. The application is responsible for freeing the memory that is allocated for the pointer to
the ICTNode object.
3. Use the ICTNode::GetAllInstalledBoards( ) function to get a pointer to a C++ Standard
Template Library (STL) list of pointers to ICTBoard objects. The application is responsible for
freeing the memory that is allocated for the list of pointers to ICTBoard objects.
4. Walk the returned board list and use the ICTBoard::GetClockingAgents( ) function to get a
pointer to an STL list of pointers to ICTClockAgent objects. The application is responsible for
freeing the memory that is allocated for the list of pointers to ICTClockAgent objects.
You can then use any of the following functions to get/set the TDM bus information of any one of
the ICTClockAgent objects in the returned STL list:
ICTClockAgent::GetTDMBusCapabilities( )
ICTClockAgent::GetTDMBusConfiguration( )