Cisco Cisco Computer Telephony Integration Option 8.5 Developer's Guide

Page of 546
 
2-7
Cisco ICM Software CTI OS Developer’s Guide Release 6.0(0)
 
Chapter 2      CTI OS Client Interface Library Architecture
CIL Object Model
SkillGroup Object
The SkillGroup object provides an interface to SkillGroup properties, specifically 
skill group statistics. Depending on the Session Mode, a CIL application can have 
zero to many SkillGroup objects.
For the complete interface specification of the SkillGroup object, see 
Object Creation and Lifetime
The Session object maintains a collection for each class of objects it manages (e.g. 
Agents, Calls, SkillGroups, etc.). 
Objects are created either by the programmer, or by the Session object as required 
to support the event flow received from the CTIOS Server. In Agent Mode, the 
programmer will create a single Agent object with which to login, whereas in 
Monitor Mode, Agent objects are created as required by the event flow. Call and 
SkillGroup objects are always created by the Session object.
An Agent, Call or SkillGroup object is created (by the Session) when the Session 
receives an event for an object (identified by its UniqueObjectID) that is not yet 
present at the CIL. This ensures that the CIL will always have the appropriate 
collection of proxy objects, one for each object on the CTIOS Server that it is 
using. When a new object is created, it is added to the Session object’s collection, 
and is accessible from the Session via the GetValue mechanism. See 
Reference Counting
Object lifetime is controlled using reference counting. Reference counts 
determine if an object is still in use; that is, if a pointer or reference to it still exists 
in some collection or member variable. When all references to the object have 
been released, the object is deleted. 
An application or object that will hold a reference to a CIL object must add to its 
reference count using the AddRef method. When the reference is no longer 
required, the application or object holding that reference must decrement the 
reference count using the Release() method. Reference counting is discussed 
further in