Main Page | Class Hierarchy | Class List | File List | Class Members

AAAApplicationCore Class Reference

Application Core. More...

#include <diameter_api.h>

List of all members.

Public Member Functions

 AAAApplicationCore ()
 AAAApplicationCore (char *configFileName, AAA_Task *task=0)
 ~AAAApplicationCore ()
AAAReturnCode Open (char *configFileName=NULL, AAA_Task *task=0)
AAAReturnCode Close ()
AAAReturnCode RegisterServerSessionFactory (AAAServerSessionFactory *factory)
AAAReturnCode RemoveServerSessionFactory (AAAServerSessionFactory *factory)
AAAApplicationHandleGetAppHandle ()
diameter_unsigned32_t GetNumActivePeerConnections ()
AAA_Task & GetTask ()

Detailed Description

Application Core.


An application identifies itself to the diameter class library by an instance of the application core. All other classes are services that operates using an instance of the core. This is not a class heirarchy in the strict sense of object orientated methodlogy, rather, it is a service heirarchy. Intances of service classes maybe transient but thier effect on the application core is persistent.

This class defines the application core. It performs initialization and configuration of the AAA class library. An instance of this object MUST be created for the class library to be usable.

Some of the operations that may be performed by this object includes opening and loading the AVP and vendor dictionaries, opening and loading diameter routing tables, opening connections with Diameter peers, loading Diameter extension libraries.

Constructor & Destructor Documentation

AAAApplicationCore::AAAApplicationCore  )  [inline]


AAAApplicationCore::AAAApplicationCore char *  configFileName,
AAA_Task *  task = 0


configFileName XML based Configuration file name

AAAApplicationCore::~AAAApplicationCore  )  [inline]


Member Function Documentation

AAAReturnCode AAAApplicationCore::Close  ) 

Closes down all diameter services for this core instance. Terminates all active session, shutdown all peer connections .. etc. Frees all resources used by the core instance.

AAAApplicationHandle& AAAApplicationCore::GetAppHandle  )  [inline]

Access method for retrieving the Application handle

diameter_unsigned32_t AAAApplicationCore::GetNumActivePeerConnections  ) 

Access method for returning the number of active peer connections

AAA_Task& AAAApplicationCore::GetTask  ) 

Access method for retrieving the AAA_Task.

AAAReturnCode AAAApplicationCore::Open char *  configFileName = NULL,
AAA_Task *  task = 0

Loads configruation files performs initilization an. This functionality is also encapsulated in the constructor for convinience.

configFileName XML based Configuration file name

AAAReturnCode AAAApplicationCore::RegisterServerSessionFactory AAAServerSessionFactory factory  ) 

Allows the application core to register instances of AAAServerSessionFactory based on an application id. The creation event occurs on a server application when an incomming message from a valid application id is received but no matching session id was found. If a registered session factory is present for this application id then the application core will invoke CreateInstace() method of the AAAServerSessionFactory based object. This procedure is obviously valid only for server applications. If a factory was previously registered for a particular application id and type, a new registration call will overwrite the previous registration.

factory Server session factory

AAAReturnCode AAAApplicationCore::RemoveServerSessionFactory AAAServerSessionFactory factory  ) 

Removes the current factory registration for a particular application id if one exists.

factory Server session factory

The documentation for this class was generated from the following file:
Generated on Fri Jun 25 19:12:02 2004 for Open Diameter C++ API by doxygen 1.3.5