Salesforce.com CTI Integration: File Index

Salesforce.com CTI Integration File List

Here is a list of all documented files with brief descriptions:
CTIAdapterLib/stdafx.h [code]
CTIAdapterLib/include/CriticalSection.h [code]
CTIAdapterLib/include/CTIAdapter.h [code]
CTIAdapterLib/include/CTIAgent.h [code]
CTIAdapterLib/include/CTIAgentState.h [code]
CTIAdapterLib/include/CTIAppExchange.h [code]
CTIAdapterLib/include/CTIAppExchangeSaveThread.h [code]
CTIAdapterLib/include/CTIAppExchangeSearchThread.h [code]
CTIAdapterLib/include/CTIButton.h [code]
CTIAdapterLib/include/CTICallLog.h [code]
CTIAdapterLib/include/CTICheckbox.h [code]
CTIAdapterLib/include/CTIConstants.h [code]
CTIAdapterLib/include/CTIDialpad.h [code]
CTIAdapterLib/include/CTIEditBox.h [code]
CTIAdapterLib/include/CTIField.h [code]
CTIAdapterLib/include/CTIForm.h [code]
CTIAdapterLib/include/CTIIdLabelObject.h [code]
CTIAdapterLib/include/CTIInfoField.h [code]
CTIAdapterLib/include/CTILine.h [code]
CTIAdapterLib/include/CTILogger.h [code]
CTIAdapterLib/include/CTILogo.h [code]
CTIAdapterLib/include/CTIObject.h [code]
CTIAdapterLib/include/CTIParty.h [code]
CTIAdapterLib/include/CTIPreviousCalls.h [code]
CTIAdapterLib/include/CTIProgressBar.h [code]
CTIAdapterLib/include/CTIReasonCodeSet.h [code]
CTIAdapterLib/include/CTIRelatedObject.h [code]
CTIAdapterLib/include/CTIRelatedObjectSet.h [code]
CTIAdapterLib/include/CTISelectableIdLabelObject.h [code]
CTIAdapterLib/include/CTIStatic.h [code]
CTIAdapterLib/include/CTITimer.h [code]
CTIAdapterLib/include/CTIUserInterface.h [code]
CTIAdapterLib/include/CTIUtils.h [code]
CTIAdapterLib/include/CTIValueObject.h [code]
CTIAdapterLib/include/ISalesforceCTIAdapter.h [code]
Generated on Fri Sep 7 09:25:44 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Class List

Here are the classes, structs, unions and interfaces with brief descriptions:
CCriticalSection
CCTIAdapter
CCTIAgent
CCTIAgentState
CCTIAppExchange
CCTIAppExchangeSaveThread
CCTIAppExchangeSearchThread
CCTIButton
CCTICallLog
CCTICheckbox
CCTIDialpad
CCTIEditBox
CCTIField
CCTIForm
CCTIIdLabelObject
CCTILine
CCTILogger
CCTILogo
CCTIObject
CCTIPreviousCalls
CCTIProgressBar
CCTIReasonCodeSet
CCTIRelatedObject
CCTIRelatedObjectSet
CCTISelectableIdLabelObject
CCTIStatic
CCTITimer
CCTIUserInterface
CCTIUtils
CCTIValueObject
CCTIWhoWhat
CMutex
CSaveThreadInfo
CSearchThreadInfo
ILockable
LockImpl< T >
Generated on Fri Sep 7 09:25:44 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CCriticalSection Class Reference

CCriticalSection Class Reference

#include <CriticalSection.h>

Inheritance diagram for CCriticalSection:

ILockable CCTILogger CCTIObject CCTIAgent CCTIDialpad CCTIForm CCTIIdLabelObject CCTILine CCTILogo CCTIPreviousCalls CCTIUserInterface CCTIWhoWhat List of all members.

Public Types

typedef LockImpl< CCriticalSection > | AutoLock

Public Member Functions

CCriticalSection ()
~CCriticalSection ()
void | Enter () const
void | Leave () const

Protected Attributes

CRITICAL_SECTION | m_CS

Detailed Description

This class is a wrapper for the Win32 CRITICAL_SECTION object. Objects that want to be thread-safe should derive from this class. To lock the resource, they can call Enter(). To release the resource, call Leave().

Constructor & Destructor Documentation

CCriticalSection::CCriticalSection ( )

Creates and initializes the CRITICAL_SECTION object.

CCriticalSection::~CCriticalSection ( )

Destroys the CRITICAL_SECTION object.

Member Function Documentation

void CCriticalSection::Enter ( ) const [virtual]

Attempt to enter the critical section. If another thread is using the object, this function blocks until no other thread has the resource.

Implements ILockable.

void CCriticalSection::Leave ( ) const [virtual]

Leave the critical section. Releases the shared resource.

Implements ILockable.

Member Data Documentation

CRITICAL_SECTION CCriticalSection::m_CS [protected]

The real CRITICAL_SECTION object.


Salesforce.com CTI Integration: Member List

CCriticalSection Member List

This is the complete list of members for CCriticalSection, including all inherited members.

AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CCriticalSection() | CCriticalSection |
Enter() const | CCriticalSection | [virtual]
Leave() const | CCriticalSection | [virtual]
m_CS | CCriticalSection | [protected]
~CCriticalSection() | CCriticalSection |
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]


Salesforce.com CTI Integration: CCTIAdapter Class Reference

CCTIAdapter Class Reference

#include <CTIAdapter.h>

List of all members.

Public Member Functions

virtual void | SendUIRefreshEvent (_bstr_t xml)=0
virtual void | SendUpdateTrayMenuEvent (_bstr_t bsMenu)

Detailed Description

Version:
1.0
This class should be one of the base classes of the main ATL class that comprises the adapter's COM interface. Its function is to provide an interface between the CCTIUserInterface base class and the COM class. Specifically, it provides a common means by which methods in CCTIUserInterface can cause the COM class to fire an UIRefresh event.

Member Function Documentation

virtual void CCTIAdapter::SendUIRefreshEvent ( _bstr_t xml ) [pure virtual]

A placeholder method that takes in an XML string and generates a COM UIRefresh event with it. This pure virtual class must be subclassed (and this method implemented) by every CTI adapter.

Parameters:
xml The XML to include with the event.

virtual void CCTIAdapter::SendUpdateTrayMenuEvent ( _bstr_t bsMenu ) [inline, virtual]

A placeholder method that takes in an XML string and generates a COM UpdateTrayMenu event with it. Unlike SendUIRefreshEvent, this method is optional; adapters need not implement it unless they choose to do so.

The XML should be of the following format:

<MENU> </MENU>

The value specified in the ID parameter will be the command that is sent to CCTIUserInterface when that menu item is clicked. The LABEL parameter is the label that will be shown in the menu. The CHECKED parameter, if specified as "true", will cause the menu item to appear checked (it's just a normal menu item if this remains unchecked). The ENABLED item, if specified as "false", will cause the menu item to appear disabled and grayed (if unspecified the menu item will default to enabled).

Parameters:
bsMenu The XML describing the menu.


Salesforce.com CTI Integration: Member List

CCTIAdapter Member List

This is the complete list of members for CCTIAdapter, including all inherited members.

SendUIRefreshEvent(_bstr_t xml)=0 | CCTIAdapter | [pure virtual]
SendUpdateTrayMenuEvent(_bstr_t bsMenu) | CCTIAdapter | [inline, virtual]


Salesforce.com CTI Integration: CCTIAgent Class Reference

CCTIAgent Class Reference

#include <CTIAgent.h>

Inheritance diagram for CCTIAgent:

CCTIObject CCriticalSection ILockable List of all members.

Public Member Functions

virtual MSXML2::IXMLDOMDocumentFragmentPtr | SerializeToXML (MSXML2::IXMLDOMDocumentPtr pXMLDoc)
virtual void | EnableAgentStates (std::list< std::wstring > &listEnabledAgentStates)
virtual void | SetAgentState (std::wstring &sAgentState)
virtual std::wstring | GetAgentState ()
void | AddAgentState (std::wstring sId, int nOrder, std::wstring sLabel=L"")

Protected Attributes

std::map< std::wstring, CCTIAgentState * > | m_mapAgentStates
std::wstring | m_sAgentState

Detailed Description

Version:
1.0
This class represents the agent state selector in the Salesforce.com CTI user interface.

Member Function Documentation

void CCTIAgent::AddAgentState | ( | std::wstring | sId,
 |  | int | nOrder,
 |  | std::wstring | sLabel = L""
 | ) |

Adds an agent state to the set and immediately makes it invisible. It can be made visible later.

Parameters:
sId | The ID of the agent state.
nOrder | The order in which the agent state should be displayed.
sLabel | (optional) The label of the agent state, if there is no default label that corresponds to the ID.

void CCTIAgent::EnableAgentStates ( std::list< std::wstring > & listEnabledAgentStates ) [virtual]

Makes agents states visible as provided in the list. The current agent state should be in this list, or it will be added automatically.

Parameters:
listEnabledAgentStates The list of agent states to enable.

MSXML2::IXMLDOMDocumentFragmentPtr CCTIAgent::SerializeToXML ( MSXML2::IXMLDOMDocumentPtr pXMLDoc ) [virtual]

This method takes this object and serializes it to XML. By default, it just generates a document fragment containing a single element with the tag defined in GetTag() and the attributes that have been attached to this object. Any objects with more complicated features (like subtags) should override this method to serialize themselves as they see fit.

Parameters:
pXMLDoc The document object (used to create all elements, attributes, etc.).
Returns:
A document fragment that represents this object serialized to XML.

Reimplemented from CCTIObject.

Member Data Documentation

std::wstring CCTIAgent::m_sAgentState [protected]

A string storing the current agent state, for the sake of convenience. Should always be in sync with the active state in m_mapAgentStates.


Salesforce.com CTI Integration: Member List

CCTIAgent Member List

This is the complete list of members for CCTIAgent, including all inherited members.

AddAgentState(std::wstring sId, int nOrder, std::wstring sLabel=L"") | CCTIAgent |
AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement) | CCTIObject | [virtual]
AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild) | CCTIObject | [virtual]
AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CCriticalSection() | CCriticalSection |
CCTIAgent(void) (defined in CCTIAgent) | CCTIAgent |
CCTIObject() (defined in CCTIObject) | CCTIObject |
EnableAgentStates(std::list< std::wstring > &listEnabledAgentStates) | CCTIAgent | [virtual]
Enter() const | CCriticalSection | [virtual]
GetAgentState() (defined in CCTIAgent) | CCTIAgent | [virtual]
GetAttribute(std::wstring sName) | CCTIObject | [virtual]
GetTag() | CCTIObject | [inline, virtual]
GetVisible() | CCTIObject | [virtual]
Leave() const | CCriticalSection | [virtual]
m_bVisible | CCTIObject | [protected]
m_CS | CCriticalSection | [protected]
m_mapAgentStates (defined in CCTIAgent) | CCTIAgent | [protected]
m_mapAttributes | CCTIObject | [protected]
m_sAgentState | CCTIAgent | [protected]
RemoveAttribute(std::wstring sName) | CCTIObject | [virtual]
SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc) | CCTIAgent | [virtual]
SetAgentState(std::wstring &sAgentState) (defined in CCTIAgent) | CCTIAgent | [virtual]
SetAttribute(std::wstring sName, std::wstring sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, const wchar_t *sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, bool bValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, int nValue) | CCTIObject | [virtual]
SetVisible(bool bVisible) | CCTIObject | [virtual]
~CCriticalSection() | CCriticalSection |
~CCTIAgent(void) (defined in CCTIAgent) | CCTIAgent | [virtual]
~CCTIObject() (defined in CCTIObject) | CCTIObject | [virtual]
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]


Salesforce.com CTI Integration: CCTIAgentState Class Reference

CCTIAgentState Class Reference

#include <CTIAgentState.h>

Inheritance diagram for CCTIAgentState:

CCTISelectableIdLabelObject CCTIIdLabelObject CCTIObject CCriticalSection ILockable List of all members.

Public Member Functions

CCTIAgentState (std::wstring sId, std::wstring sLabel)
virtual _bstr_t | GetTag ()
virtual void | SetOrder (int nOrder)

Detailed Description

Version:
1.0
This class represents a single agent state in the Salesforce.com CTI user interface.

Member Function Documentation

virtual _bstr_t CCTIAgentState::GetTag ( ) [inline, virtual]

Gets the XML tag associated with this object.

Returns:
The XML tag associated with this object.

Reimplemented from CCTISelectableIdLabelObject.

virtual void CCTIAgentState::SetOrder ( int nOrder ) [inline, virtual]

Sets the parameter that governs the order in which this agent state will be displayed relative to the others.

Parameters:
nOrder The numeric position at which this agent state should appear.


Salesforce.com CTI Integration: Member List

CCTIAgentState Member List

This is the complete list of members for CCTIAgentState, including all inherited members.

AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement) | CCTIObject | [virtual]
AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild) | CCTIObject | [virtual]
AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CCriticalSection() | CCriticalSection |
CCTIAgentState(void) (defined in CCTIAgentState) | CCTIAgentState |
CCTIAgentState(std::wstring sId, std::wstring sLabel) (defined in CCTIAgentState) | CCTIAgentState |
CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIIdLabelObject(std::wstring sId, std::wstring sLabel=L"") (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIObject() (defined in CCTIObject) | CCTIObject |
CCTISelectableIdLabelObject(bool bSelected=false) (defined in CCTISelectableIdLabelObject) | CCTISelectableIdLabelObject |
CCTISelectableIdLabelObject(std::wstring sId, std::wstring sLabel, bool bSelected=false) (defined in CCTISelectableIdLabelObject) | CCTISelectableIdLabelObject |
Enter() const | CCriticalSection | [virtual]
GetAttribute(std::wstring sName) | CCTIObject | [virtual]
GetId(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
GetLabel(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
GetSelected(void) | CCTISelectableIdLabelObject | [virtual]
GetTag() | CCTIAgentState | [inline, virtual]
GetVisible() | CCTIObject | [virtual]
Leave() const | CCriticalSection | [virtual]
m_bSelected (defined in CCTISelectableIdLabelObject) | CCTISelectableIdLabelObject | [protected]
m_bVisible | CCTIObject | [protected]
m_CS | CCriticalSection | [protected]
m_mapAttributes | CCTIObject | [protected]
RemoveAttribute(std::wstring sName) | CCTIObject | [virtual]
SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, std::wstring sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, const wchar_t *sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, bool bValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, int nValue) | CCTIObject | [virtual]
SetId(std::wstring sId) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetLabel(std::wstring sLabel) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetOrder(int nOrder) | CCTIAgentState | [inline, virtual]
SetSelected(bool bSelected) | CCTISelectableIdLabelObject | [virtual]
SetVisible(bool bVisible) | CCTIObject | [virtual]
~CCriticalSection() | CCriticalSection |
~CCTIAgentState(void) (defined in CCTIAgentState) | CCTIAgentState | [virtual]
~CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
~CCTIObject() (defined in CCTIObject) | CCTIObject | [virtual]
~CCTISelectableIdLabelObject(void) (defined in CCTISelectableIdLabelObject) | CCTISelectableIdLabelObject | [inline, virtual]
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]


Salesforce.com CTI Integration: CCTIAppExchange Class Reference

CCTIAppExchange Class Reference

#include <CTIAppExchange.h>

List of all members.

Public Member Functions

CCTIAppExchange (CCTIUserInterface *pUI)
virtual void | UpdateSid (std::wstring sInstance, std::wstring sSid)
virtual void | UpdateCachedInformation ()
virtual void | ResetObjectMap (ObjectFieldMap &map)
virtual bool | CanCreateCallLogs ()
virtual void | Search (int nLayout, std::wstring sANI, PARAM_MAP &mapAttachedData, CCTICallLog *pLog, RelObjSetList &listUiOutput, bool bFallBackOnANISearch=true)
virtual void | AsyncSearch (std::wstring sCallObjectId, int nLayout, std::wstring sANI, PARAM_MAP &mapAttachedData, bool bFallBackOnANISearch=true)
void | GetSoftphoneLayoutItems (std::wstring sSoftphoneLayoutId, PairList &listItems)
void | AddSoftphoneLayoutItemsToMap (PairList &listItems, StringList &listSectionIds, PARAM_MAP &mapSectionIdToObjectName, ObjectFieldMap &mapLayout)
virtual _bstr_t | GeneratePhoneFieldsQuery (int nLayout, std::wstring sANI)
virtual void | GenerateSOQLQueries (int nLayout, PARAM_MAP &mapAttachedData, std::list< _bstr_t > &listOutputQueries)
virtual void | RunLogQuery (int nLayout, std::wstring &sObjectType, std::wstring &sId, CCTICallLog *pLog, RelObjSetList &listUiOutput)
virtual ObjectFieldMap & | GetMapForLayout (int nLayout)
StringList * | GetInfoFieldsForLayout (int nLayout)
virtual void | Reset ()
virtual void | AddFieldToMap (ObjectFieldMap &mapLayout, std::wstring sObject, std::wstring sField)
virtual void | LoadUserParamsFromCustomSetup ()
virtual void | SaveUserParams (PARAM_MAP &parameters)
void | SaveUserExtension (std::wstring &sExtension)
virtual std::wstring | GetUserId ()
virtual std::wstring | GetSid ()
virtual std::wstring | GetInstance ()
virtual CCTIUserInterface * | GetCTIUserInterface ()
virtual std::wstring | GetTaskSubject ()
virtual void | SetTaskSubject (std::wstring sTaskSubject)
virtual std::wstring | GetTaskCompletedStatus ()
virtual void | SetTaskCompletedStatus (std::wstring sTaskCompletedStatus)
virtual void | UpsertCallLog (CCTICallLog *pLog)
virtual void | QueryRelatedData (std::wstring &sCallObjectId, std::wstring &sRelatedData)
virtual void | DescribeSoftphoneLayout ()

Static Public Member Functions

static std::wstring | GetValueFromQuery (ISForceSession4Ptr pSession, std::wstring sQuery, const wchar_t *sField)
static StringList * | GetNameFields (std::wstring sObjectType)
static CCTIRelatedObjectSet * | GetRelatedObjectSet (RelObjSetList &listOutput, ISObject4Ptr pSObject)
static void | SetDatetimeFieldValue (ISObject4Ptr pSObject, _variant_t sFieldName, SYSTEMTIME st)
static void | SetFieldValue (ISObject4Ptr pSObject, _variant_t sFieldName, std::wstring &sValue)
static void | SetFieldValue (ISObject4Ptr pSObject, _variant_t sFieldName, _bstr_t sValue)
static std::wstring | GetFieldValue (ISForceSession4Ptr pSession, ISObject4Ptr pSObject, const wchar_t *sFieldName)
static std::wstring | GetSObjectName (ISForceSession4Ptr pSession, ISObject4Ptr pSObject)
static int | PopulateQueryResults (ISForceSession4Ptr pSession, IQueryResultSet4Ptr pQueryResults, ObjectFieldMap &mapLayout, RelObjSetList &listUiOutput, bool bIgnorePersonContacts)
static void | SetSessionInstanceAndSid (ISForceSession4Ptr pSession, std::wstring sInstance, std::wstring sSid)
static ISForceSession4Ptr | CreateOfficeToolkit ()
static ISForceSession4Ptr | CreateOfficeToolkit (std::wstring sInstance, std::wstring sSid)
static StringList * | QueryObjectInfo (ISForceSession4Ptr pSession, std::wstring sObjectName)
static std::wstring | GetFieldListForObject (ObjectFieldMap &mapLayout, std::wstring &sObject)
static std::wstring | EncryptString (std::wstring &sSource, std::wstring &sKey)
static std::wstring | DecryptString (std::wstring &sSource, std::wstring &sKey)

Public Attributes

CCTIUserInterface * m_pUI

Protected Member Functions

virtual void | SetInstance (std::wstring sInstance)
virtual void | SetSid (std::wstring sSid)
virtual void | SetUserId (std::wstring sUserId)

Protected Attributes

CCTIAppExchangeSaveThread * m_pSaveThread
CCTIAppExchangeSearchThread * m_pSearchThread
ObjectFieldMap | m_mapInternalLayout
ObjectFieldMap | m_mapInboundLayout
ObjectFieldMap | m_mapOutboundLayout
StringList | m_listInboundInfoFields
StringList | m_listOutboundInfoFields
StringList | m_listInternalInfoFields
std::wstring | m_sInstance
std::wstring | m_sTaskCompletedStatus
std::wstring | m_sTaskSubject
std::wstring | m_sSid
std::wstring | m_sUserId
ISForceSession4Ptr | m_pSession
bool | m_bCanCreateCallLogs

Static Protected Attributes

static ObjectFieldMap | m_mapNameFields
static ObjectFieldMap | m_mapObjectsToFields
static ObjectFieldMap | m_mapNonquotedFields
static bool | m_bPersonAccountsExist = false

Detailed Description

This class provides the adapter's link to Salesforce.com via Salesforce's AppExchange API.
Version:
1.0
This class provides the adapter's link to Salesforce.com via Salesforce's AppExchange API. The AppExchange API is a web services API, but access to that API is abstracted by the AppExchange Office Toolkit, a COM component.

Member Function Documentation

void CCTIAppExchange::AddFieldToMap | ( | ObjectFieldMap & | mapLayout,
 |  | std::wstring | sObject,
 |  | std::wstring | sField
 | ) | [virtual]

Adds a Salesforce.com field (and its corresponding Salesforce.com object, if necessary) to one of the layout maps.

Parameters:
mapLayout | The layout map to add the field to.
sObject | The Salesforce.com object owner of the field.
sField | The Salesforce.com field to add.

void CCTIAppExchange::AddSoftphoneLayoutItemsToMap | ( | PairList & | listItems,
 |  | StringList & | listSectionIds,
 |  | PARAM_MAP & | mapSectionIdToObjectName,
 |  | ObjectFieldMap & | mapLayout
 | ) |

Adds a list of pairs obtained from GetSoftphoneLayoutItems to the appropriate layout map.

Parameters:
listItems | The list of pairs of items.
listSectionIds | The list of section ids to add to this map.
mapSectionIdToObjectName | The map of section ids to object names.
mapLayout | The layout map to populate.

void CCTIAppExchange::AsyncSearch | ( | std::wstring | sCallObjectId,
 |  | int | nLayout,
 |  | std::wstring | sANI,
 |  | PARAM_MAP & | mapAttachedData,
 |  | bool | bFallBackOnANISearch = true
 | ) | [virtual]

Instructs the CCTIAppExchangeSearchThread to begin an asynchronous search using the attached data. The searches will be performed in the same order and manner as the non-asynchronous version of this method; see the documentation for CCTIAppExchange::Search for details.

Parameters:
sCallObjectId | The unique call object identifier of this call. The thread will use it upon search return to populate the search results into the UI.
nLayout | The layout to use for this search. Should be one of LAYOUT_INCOMING_INTERNAL, LAYOUT_INCOMING_EXTERNAL, or LAYOUT_OUTBOUND.
sANI | The ANI for this call.
mapAttachedData | The attached data for this call as formatted in the description given here.
pLog | The call log that these search results should populate.
bFallBackOnANISearch | (optional) True if this search should fall back on an ANI search if the attached data search has no results. False otherwise. Default is true.

virtual bool CCTIAppExchange::CanCreateCallLogs ( ) [inline, virtual]

Returns:
True if the current user can create call logs (i.e. can create Task objects).

ISForceSession4Ptr CCTIAppExchange::CreateOfficeToolkit | ( | std::wstring | sInstance,
 |  | std::wstring | sSid
 | ) | [static]

Creates an instance of the Office Toolkit COM object and immediately sets its instance and SID to the input values.

Parameters:
sInstance | The instance which the current user is on (like "https://na1.salesforce.com"
sSid | The current user's session ID as granted by salesforce.com.
Returns:
The ISForceSession4Ptr that was created, or NULL if it could not be created.

ISForceSession4Ptr CCTIAppExchange::CreateOfficeToolkit ( ) [static]

Creates an instance of the Office Toolkit COM object and without setting its instance and SID. The SetSessionInstanceAndSid method of this class must be called with this session to give it an instance and a SID prior to its use.

Returns:
The ISForceSession4Ptr that was created, or NULL if it could not be created.

std::wstring CCTIAppExchange::DecryptString | ( | std::wstring & | sSource,
 |  | std::wstring & | sKey
 | ) | [static]

Decrypts the source string using the specified key.

Parameters:
sSource | The string to decrypt (should be a string of hex digits).
sKey | The encryption key.
Returns:
The decrypted string.

void CCTIAppExchange::DescribeSoftphoneLayout ( ) [virtual]

Calls describeSoftphoneLayout on the server and populates the layout and info field maps with the results.

std::wstring CCTIAppExchange::EncryptString | ( | std::wstring & | sSource,
 |  | std::wstring & | sKey
 | ) | [static]

Encrypts the source string using the specified key.

Parameters:
sSource | The string to encrypt.
sKey | The encryption key.
Returns:
The encrypted string as a string of hex digits.

_bstr_t CCTIAppExchange::GeneratePhoneFieldsQuery | ( | int | nLayout,
 |  | std::wstring | sANI
 | ) | [virtual]

Generates a BSTR-formatted (for the Office Toolkit) SOSL query according to the input layout and using the input ANI.

Parameters:
nLayout | The layout to use in the search.
sANI | The ANI to use in the search.
Returns:
A BSTR-formatted SOSL search query.

void CCTIAppExchange::GenerateSOQLQueries | ( | int | nLayout,
 |  | PARAM_MAP & | mapAttachedData,
 |  | std::list< _bstr_t > & | listOutputQueries
 | ) | [virtual]

Generates BSTR-formatted (for the Office Toolkit) SOQL queries according to the input layout and using the input map of attached data. Note that this method will only act upon data that is formatted in such a way that the key is of the form "Object.Field", where "Object" corresponds to the developer name of an object defined in Salesforce.com, and "Field" corresponds to the developer name of a field in the same. So "Case.CaseNumber" would be a valid key. The values corresponding these keys should be the values that the query should search on; so if there's an entry that is "Case.CaseNumber"->"1001" (assuming that the input layout actually contains the Case object), then this method will create a query on cases where Case.CaseNumber=1001.

In the event that the input map is empty, the map has no keys of the format described above, or none of the keys correspond to objects that are in the layout, then the list of queries will be empty.

Note that this method may create multiple queries, and as such the queries are outputted in the listOutputQueries parameter. One query will be created for each object type specified in the mapAttachedData. So, for instance, if there's one key called "Contact.EmployeeId" and another called "Case.CaseNumber", then two queries will be generated, one for the contact and one for the case. If, on the other hand, there are two keys, such as "Case.CaseNumber" and "Case.Priority", that refer to the same object, then only one query will be generated for the Case object, but with multiple conditions on it.

Parameters:
nLayout | The layout to use in the queries.
mapAttachedData | The map of attached data to generate queries for.
listOutputQueries | A list of queries that this method has generated. This list should be empty when it's passed in, as it will contain the results of this method.
Returns:

virtual CCTIUserInterface* CCTIAppExchange::GetCTIUserInterface ( ) [inline, virtual]

Returns:
The user interface that owns this object.

std::wstring CCTIAppExchange::GetFieldListForObject | ( | ObjectFieldMap & | mapLayout,
 |  | std::wstring & | sObject
 | ) | [static]

Generates a comma-separated list of fields to retrieve based on the input layout for the input object. Note that in addition to the fields explicitly specified in the layout, this method will also add the name fields and the Id field to the list.

The list output by this method is useful in both SOSL and SOQL queries (SOSL in the return spec, SOQL in the Select)

Parameters:
mapLayout | The map of the layout to use.
sObject | The object for which to get the field list.
Returns:
A comma-separated list of fields to get for this object.

std::wstring CCTIAppExchange::GetFieldValue | ( | ISForceSession4Ptr | pSession,
 |  | ISObject4Ptr | pSObject,
 |  | const wchar_t * | sFieldName
 | ) | [static]

Returns the value of the specified field in the input SObject, or the empty string if the field is empty or nonexistent.

Parameters:
pSession | The Sforce session in which the object exists.
pSObject | The SObject from which to get the field value.
sFieldName | The name of the field to retrieve.
Returns:
The value of the specified field in the input SObject, or the empty string if the field is empty or nonexistent.

StringList * CCTIAppExchange::GetInfoFieldsForLayout ( int nLayout )

Returns the proper list of standard info fields for the input layout.

Parameters:
nLayout The layout to get the info fields for. Should be one of LAYOUT_INCOMING_INTERNAL, LAYOUT_INCOMING_EXTERNAL, or LAYOUT_OUTBOUND.
Returns:
The correct list of info fields for the specified layout.

virtual std::wstring CCTIAppExchange::GetInstance ( ) [inline, virtual]

Returns:
The instance of the currently logged in user.

ObjectFieldMap & CCTIAppExchange::GetMapForLayout ( int nLayout ) [virtual]

Returns the proper layout map for the input layout.

Parameters:
nLayout The layout to get the map for. Should be one of LAYOUT_INCOMING_INTERNAL, LAYOUT_INCOMING_EXTERNAL, or LAYOUT_OUTBOUND.
Returns:
The correct map for the specified layout.

StringList * CCTIAppExchange::GetNameFields ( std::wstring sObjectType ) [static]

Returns the name fields for the object type specified.

Parameters:
sObjectType The object type (like "Contact").
Returns:
A list of the name fields for the object.

CCTIRelatedObjectSet * CCTIAppExchange::GetRelatedObjectSet | ( | RelObjSetList & | listOutput,
 |  | ISObject4Ptr | pSObject
 | ) | [static]

Gets a CCTIRelatedObjectSet object corresponding to the input SObject, creating the CCTIRelatedObjectSet and adding it to the output list if necessary.

Parameters:
listOutput | The list of CCTIRelatedObjectSet objects that the caller method is working on.
pSObject | The SObject for which to find the corresponding CCTIRelatedObjectSet.

virtual std::wstring CCTIAppExchange::GetSid ( ) [inline, virtual]

Returns:
The SID of the currently logged in user.

std::wstring CCTIAppExchange::GetSObjectName | ( | ISForceSession4Ptr | pSession,
 |  | ISObject4Ptr | pSObject
 | ) | [static]

Gets the contents of the name fields of the input SObject.

Parameters:
pSession | The Sforce session in which the object exists.
pSObject | The SObject from which to get the name.
Returns:
The contents of the name fields of the SObject.

void CCTIAppExchange::GetSoftphoneLayoutItems | ( | std::wstring | sSoftphoneLayoutId,
 |  | PairList & | listItems
 | ) |

Performs the query that gets all the softphone layout items and adds them to a list of pairs. We use a list of pairs instead of a map because we need to preserve the order of the items, which a map would not do.

Parameters:
sSoftphoneLayoutId | The softphone layout Id for which to gather the items
listItems | The list of pairs to populate.

virtual std::wstring CCTIAppExchange::GetTaskCompletedStatus ( ) [inline, virtual]

Gets the status that a task should be set to when it's closed (usually "Completed", but it's user-settable).

Returns:
The status that a task should be set to when it's closed.

virtual std::wstring CCTIAppExchange::GetTaskSubject ( ) [inline, virtual]

Gets the task subject text that will be shown when call logs are created.

Returns:
The task subject text that will be shown when call logs are created.

virtual std::wstring CCTIAppExchange::GetUserId ( ) [inline, virtual]

Returns:
The User ID of the currently logged in user.

std::wstring CCTIAppExchange::GetValueFromQuery | ( | ISForceSession4Ptr | pSession,
 |  | std::wstring | sQuery,
 |  | const wchar_t * | sField
 | ) | [static]

Returns the value of the input field from the first row of the result of the input SOQL query. Queries passed into this function should generally only return a single row (since the remaining rows will be ignored anyway).

Parameters:
pSession | The Office Toolkit session with which to run the query
sQuery | The SOQL query to run.
sField | The field whose value should be returned.
Returns:
The value of the input field from the first row of the result of the input SOQL query, or the empty string if there were no results or the field was missing.

void CCTIAppExchange::LoadUserParamsFromCustomSetup ( ) [virtual]

Gets all the user keys for the current user beneath the "CTI/" path in the CustomSetup table places them in the associated CCTIUserInterface subclass's map of user params.

Note that if an entry called "PASSWORD" is found, this method will assume it's encrypted and attempt to decrypt it.

int CCTIAppExchange::PopulateQueryResults | ( | ISForceSession4Ptr | pSession,
 |  | IQueryResultSet4Ptr | pQueryResults,
 |  | ObjectFieldMap & | mapLayout,
 |  | RelObjSetList & | listUiOutput,
 |  | bool | bIgnorePersonContacts
 | ) | [static]

Takes as input the results of a query performed by the Office Toolkit, and populates those results into a list of CCTIRelatedObjectSets. Note that the bIgnorePersonContacts parameter should generally be true for SOSL searches in orgs that have Person Accounts enabled, because in that case a phone number search may result in both an Account and a Contact that actually point to the same Person Account record (and so we only want to show the account and not the Contact).

Note that this method is static because it is used by both the synchronous and asynchronous versions of search.

Parameters:
pSession | The session in which these query results are valid.
pQueryResults | The results of a query (SOSL or SOQL) as returned by the Office Toolkit.
mapLayout | The layout to use when populating these results.
listUiOutput | A list of CCTIRelatedObjectSet objects into which this method will output its results. Should be empty when passed in.
bIgnorePersonContacts | True if this method should ignore contacts where the IsPersonAccount field exists and is set to true.
Returns:
The number of query results that were populated.

StringList * CCTIAppExchange::QueryObjectInfo | ( | ISForceSession4Ptr | pSession,
 |  | std::wstring | sObjectName
 | ) | [static]

Queries the AppExchange API for information about the input object and stores that information in this CCTIAppExchange object for future reference from SOQL and SOSL queries.

Parameters:
pSession | The session to use to obtain information about the object.
sObject | The name of the object to get info about.
Returns:
A list of all the fields the object contains, or NULL if the user does not have permissions to view this object.

void CCTIAppExchange::QueryRelatedData | ( | std::wstring & | sCallObjectId,
 |  | std::wstring & | sRelatedData
 | ) | [virtual]

Queries the related data referred to by the 2 IDs expected to be in the sRelatedData parameter and adds information about them to the call log pertaining to the input call object ID.

Parameters:
sCallObjectId | The call object ID corresponding to the log that this related data should be added to.
sRelatedData | The contents of the related data attached item. Should contain at most 2 IDs separated by a slash, like "

void CCTIAppExchange::Reset ( ) [virtual]

Resets the instance and session ID and invalidates the salesforce.com session. This should be called on logout.

void CCTIAppExchange::ResetObjectMap ( ObjectFieldMap & map ) [virtual]

Clears out an object-field map and deletes all its sublists.

Parameters:
map A reference to the map to reset.

void CCTIAppExchange::RunLogQuery | ( | int | nLayout,
 |  | std::wstring & | sObjectType,
 |  | std::wstring & | sId,
 |  | CCTICallLog * | pLog,
 |  | RelObjSetList & | listUiOutput
 | ) | [virtual]

Generates a SOQL query for the input log item (which consists of an object type and ID) and runs it, adding the results to the call log, and to the layout, if the object is in fact a member of the layout.

Parameters:
nLayout | The layout to use.
sObjectType | The object type (like "Contact")
sId | The ID of the object to search for.
pLog | The log to which this method will be adding its result.
listUiOutput | A list of CCTIRelatedObjectSet objects into which this method will output its results. Should be empty when passed in.

void CCTIAppExchange::SaveUserExtension ( std::wstring & sExtension )

Requests the save thread to update the extension field of the current user to the specified value.

Parameters:
sExtension The current user's extension.

void CCTIAppExchange::SaveUserParams ( PARAM_MAP & parameters ) [virtual]

Saves the values in the input map to the user's CTI/ user key space in custom setup. This method operates asynchronously by calling CCTIAppExchangeSaveThread to perform the saving in the background.

Note that if the input map includes an entry called "PASSWORD" then that value will be encrypted prior to being saved to CustomSetup.

Parameters:
parameters The key-value pairs to save to the custom setup table.

void CCTIAppExchange::Search | ( | int | nLayout,
 |  | std::wstring | sANI,
 |  | PARAM_MAP & | mapAttachedData,
 |  | CCTICallLog * | pLog,
 |  | RelObjSetList & | listUiOutput,
 |  | bool | bFallBackOnANISearch = true
 | ) | [virtual]

Searches the AppExchange API for the ANI (or for the data specified in mapAttachedData, if there is any).

The data in mapAttachedData (a string-string map) should be specified in exactly this fashion: key: Object.Field value: InputValue

So if a caller entered his case number through an IVR as "1003", then there should be a single entry in mapAttachedData which would look like: "Case.CaseNumber" = "1003" (where the left hand side of the equals is the key and the right hand side is the value) Which is to say that mapAttachedData["Case.CaseNumber"]=="1003". This function will generate a SOQL query based on this input and return any cases that match it.

If mapAttachedData is empty, or if the SOQL query above generates no results, then this method will attempt a SOSL search on the ANI, returning objects as appropriate from

This method outputs CCTIRelatedObjectSet objects, for inclusion in a CCTILine. Note that it is the responsibility of the caller to dispose of these objects when it is done with them.

Parameters:
nLayout | The layout to use for this search. Should be one of LAYOUT_INCOMING_INTERNAL, LAYOUT_INCOMING_EXTERNAL, or LAYOUT_OUTBOUND.
sANI | The ANI for this call.
mapAttachedData | The attached data for this call as formatted in the description given here.
pLog | The call log that these search results should populate.
listUiOutput | A list of RelatedObjectSets that this method will output its results to. It is the responsibility of the caller to delete any objects in this list.
bFallBackOnANISearch | (optional) True if this search should fall back on an ANI search if the attached data search has no results. False otherwise. Default is true.

void CCTIAppExchange::SetDatetimeFieldValue | ( | ISObject4Ptr | pSObject,
 |  | _variant_t | sFieldName,
 |  | SYSTEMTIME | st
 | ) | [static]

Sets a datetime-typed field of the input SObject to the desired value. This is a static method so it can be used from any thread.

Parameters:
pSObject | The SObject on which to set the value.
sFieldName | The name of the field on which to set the value.
st | The value to set the field to.

void CCTIAppExchange::SetFieldValue | ( | ISObject4Ptr | pSObject,
 |  | _variant_t | sFieldName,
 |  | _bstr_t | sValue
 | ) | [static]

Sets a field of the input SObject to the desired value. This is a static method so it can be used from any thread.

Parameters:
pSObject | The SObject on which to set the value.
sFieldName | The name of the field on which to set the value.
sValue | The value to set the field to.

void CCTIAppExchange::SetFieldValue | ( | ISObject4Ptr | pSObject,
 |  | _variant_t | sFieldName,
 |  | std::wstring & | sValue
 | ) | [static]

Sets a field of the input SObject to the desired value. This is a static method so it can be used from any thread.

Parameters:
pSObject | The SObject on which to set the value.
sFieldName | The name of the field on which to set the value.
sValue | The value to set the field to.

virtual void CCTIAppExchange::SetInstance ( std::wstring sInstance ) [inline, protected, virtual]

Sets the instance which the current user is on (like "https://na1.salesforce.com")

Parameters:
sInstance The instance which the current user is on (like "https://na1.salesforce.com")

void CCTIAppExchange::SetSessionInstanceAndSid | ( | ISForceSession4Ptr | pSession,
 |  | std::wstring | sInstance,
 |  | std::wstring | sSid
 | ) | [static]

Sets the instance and SID of the input Office Toolkit session object.

Parameters:
pSession | An Office Toolkit session object.
sInstance | The instance which the current user is on (like "https://na1.salesforce.com"
sSid | The current user's session ID as granted by salesforce.com.

virtual void CCTIAppExchange::SetSid ( std::wstring sSid ) [inline, protected, virtual]

Sets the current user's session ID as granted by salesforce.com.

Parameters:
sSid The current user's session ID as granted by salesforce.com.

virtual void CCTIAppExchange::SetTaskCompletedStatus ( std::wstring sTaskCompletedStatus ) [inline, virtual]

Sets the status that a task should be set to when it's closed (usually "Completed", but it's user-settable).

Parameters:
sTaskCompletedStatus The status that a task should be set to when it's closed.

virtual void CCTIAppExchange::SetTaskSubject ( std::wstring sTaskSubject ) [inline, virtual]

Sets the task subject text that will be shown when call logs are created.

Parameters:
sTaskSubject The task subject text that will be shown when call logs are created.

virtual void CCTIAppExchange::SetUserId ( std::wstring sUserId ) [inline, protected, virtual]

Sets the current user's salesforce.com user ID.

Parameters:
sUserId The current user's salesforce.com user ID.

void CCTIAppExchange::UpdateCachedInformation ( ) [virtual]

This method will update cached information specific to the user. In particular, it will query for the user's call center information and layouts, then get an XSLT document in his language.

void CCTIAppExchange::UpdateSid | ( | std::wstring | sInstance,
 |  | std::wstring | sSid
 | ) | [virtual]

Updates this object's instance and SID and sets it in the salesforce.com session. After calling this method, the salesforce.com session will be valid and ready for queries (as long as the SID is valid also).

Parameters:
sInstance | The instance which the current user is on (like "https://na1.salesforce.com"
sSid | The current user's session ID as granted by salesforce.com.

void CCTIAppExchange::UpsertCallLog ( CCTICallLog * pLog ) [virtual]

Creates or updates a Task for a call log (by passing it off to the CCTIAppExchangeSaveThread for background saving).

Parameters:
pLog The call log to create or update.

Member Data Documentation

bool CCTIAppExchange::m_bCanCreateCallLogs [protected]

Flag indicating whether the current user can create call logs (which are Task objects).

bool CCTIAppExchange::m_bPersonAccountsExist = false [static, protected]

Flag indicating whether person accounts (a combination of accounts and contacts) exist in this user's organization.

StringList CCTIAppExchange::m_listInboundInfoFields [protected]

A list of the IDs of the standard info fields that should be shown in an inbound layout.

StringList CCTIAppExchange::m_listInternalInfoFields [protected]

A list of the IDs of the standard info fields that should be shown in an internal layout.

StringList CCTIAppExchange::m_listOutboundInfoFields [protected]

A list of the IDs of the standard info fields that should be shown in an outbound layout.

ObjectFieldMap CCTIAppExchange::m_mapInboundLayout [protected]

The objects and fields for those objects that we should get for an external call layout.

ObjectFieldMap CCTIAppExchange::m_mapInternalLayout [protected]

The objects and fields for those objects that we should get for an internal call layout.

no_namespace named_guids ObjectFieldMap CCTIAppExchange::m_mapNameFields [static, protected]

The fields that act as the name for their respective objects (e.g. for the Contact object, the fields are FirstName and LastName) Many objects actually have a "Name" field, but some don't. For those that don't, we'll use this map to resolve the names.

ObjectFieldMap CCTIAppExchange::m_mapNonquotedFields [static, protected]

A map of objects to those objects' nonquoted fields. We need to know this when generating SOQL queries, because numeric and date fields must be specified in those queries' conditions directly (as opposed to strings, which are quoted).

ObjectFieldMap CCTIAppExchange::m_mapObjectsToFields [static, protected]

A map relating all objects we've seen thus far to its set of field names. We need this for generating queries and layouts.

ObjectFieldMap CCTIAppExchange::m_mapOutboundLayout [protected]

The objects and fields for those objects that we should get for an outbound call layout.

CCTIAppExchangeSaveThread* CCTIAppExchange::m_pSaveThread [protected]

The worker thread that saves data to the AppExchange API.

CCTIAppExchangeSearchThread* CCTIAppExchange::m_pSearchThread [protected]

The worker thread that searches for data in the AppExchange API.

ISForceSession4Ptr CCTIAppExchange::m_pSession [protected]

The salesforce.com API session object.

CCTIUserInterface* CCTIAppExchange::m_pUI

A pointer to the UI which instantiated this object.

std::wstring CCTIAppExchange::m_sInstance [protected]

The instance which the current user is on (like "https://na1.salesforce.com")

std::wstring CCTIAppExchange::m_sSid [protected]

The current user's session ID as granted by salesforce.com.

std::wstring CCTIAppExchange::m_sTaskCompletedStatus [protected]

The status that a task should be set to when it's closed (usually "Completed", but it's user-settable).

std::wstring CCTIAppExchange::m_sTaskSubject [protected]

The task subject text that will be shown when call logs are created. It's obtained from Salesforce.com, and it's different for every language.

std::wstring CCTIAppExchange::m_sUserId [protected]

The current user's salesforce.com user ID.


Salesforce.com CTI Integration: Member List

CCTIAppExchange Member List

This is the complete list of members for CCTIAppExchange, including all inherited members.

AddFieldToMap(ObjectFieldMap &mapLayout, std::wstring sObject, std::wstring sField) | CCTIAppExchange | [virtual]
AddSoftphoneLayoutItemsToMap(PairList &listItems, StringList &listSectionIds, PARAM_MAP &mapSectionIdToObjectName, ObjectFieldMap &mapLayout) | CCTIAppExchange |
AsyncSearch(std::wstring sCallObjectId, int nLayout, std::wstring sANI, PARAM_MAP &mapAttachedData, bool bFallBackOnANISearch=true) | CCTIAppExchange | [virtual]
CanCreateCallLogs() | CCTIAppExchange | [inline, virtual]
CCTIAppExchange(CCTIUserInterface *pUI) (defined in CCTIAppExchange) | CCTIAppExchange |
CreateOfficeToolkit() | CCTIAppExchange | [static]
CreateOfficeToolkit(std::wstring sInstance, std::wstring sSid) | CCTIAppExchange | [static]
DecryptString(std::wstring &sSource, std::wstring &sKey) | CCTIAppExchange | [static]
DescribeSoftphoneLayout() | CCTIAppExchange | [virtual]
EncryptString(std::wstring &sSource, std::wstring &sKey) | CCTIAppExchange | [static]
GeneratePhoneFieldsQuery(int nLayout, std::wstring sANI) | CCTIAppExchange | [virtual]
GenerateSOQLQueries(int nLayout, PARAM_MAP &mapAttachedData, std::list< _bstr_t > &listOutputQueries) | CCTIAppExchange | [virtual]
GetCTIUserInterface() | CCTIAppExchange | [inline, virtual]
GetFieldListForObject(ObjectFieldMap &mapLayout, std::wstring &sObject) | CCTIAppExchange | [static]
GetFieldValue(ISForceSession4Ptr pSession, ISObject4Ptr pSObject, const wchar_t *sFieldName) | CCTIAppExchange | [static]
GetInfoFieldsForLayout(int nLayout) | CCTIAppExchange |
GetInstance() | CCTIAppExchange | [inline, virtual]
GetMapForLayout(int nLayout) | CCTIAppExchange | [virtual]
GetNameFields(std::wstring sObjectType) | CCTIAppExchange | [static]
GetRelatedObjectSet(RelObjSetList &listOutput, ISObject4Ptr pSObject) | CCTIAppExchange | [static]
GetSid() | CCTIAppExchange | [inline, virtual]
GetSObjectName(ISForceSession4Ptr pSession, ISObject4Ptr pSObject) | CCTIAppExchange | [static]
GetSoftphoneLayoutItems(std::wstring sSoftphoneLayoutId, PairList &listItems) | CCTIAppExchange |
GetTaskCompletedStatus() | CCTIAppExchange | [inline, virtual]
GetTaskSubject() | CCTIAppExchange | [inline, virtual]
GetUserId() | CCTIAppExchange | [inline, virtual]
GetValueFromQuery(ISForceSession4Ptr pSession, std::wstring sQuery, const wchar_t *sField) | CCTIAppExchange | [static]
LoadUserParamsFromCustomSetup() | CCTIAppExchange | [virtual]
m_bCanCreateCallLogs | CCTIAppExchange | [protected]
m_bPersonAccountsExist | CCTIAppExchange | [protected, static]
m_listInboundInfoFields | CCTIAppExchange | [protected]
m_listInternalInfoFields | CCTIAppExchange | [protected]
m_listOutboundInfoFields | CCTIAppExchange | [protected]
m_mapInboundLayout | CCTIAppExchange | [protected]
m_mapInternalLayout | CCTIAppExchange | [protected]
m_mapNameFields | CCTIAppExchange | [protected, static]
m_mapNonquotedFields | CCTIAppExchange | [protected, static]
m_mapObjectsToFields | CCTIAppExchange | [protected, static]
m_mapOutboundLayout | CCTIAppExchange | [protected]
m_pSaveThread | CCTIAppExchange | [protected]
m_pSearchThread | CCTIAppExchange | [protected]
m_pSession | CCTIAppExchange | [protected]
m_pUI | CCTIAppExchange |
m_sInstance | CCTIAppExchange | [protected]
m_sSid | CCTIAppExchange | [protected]
m_sTaskCompletedStatus | CCTIAppExchange | [protected]
m_sTaskSubject | CCTIAppExchange | [protected]
m_sUserId | CCTIAppExchange | [protected]
PopulateQueryResults(ISForceSession4Ptr pSession, IQueryResultSet4Ptr pQueryResults, ObjectFieldMap &mapLayout, RelObjSetList &listUiOutput, bool bIgnorePersonContacts) | CCTIAppExchange | [static]
QueryObjectInfo(ISForceSession4Ptr pSession, std::wstring sObjectName) | CCTIAppExchange | [static]
QueryRelatedData(std::wstring &sCallObjectId, std::wstring &sRelatedData) | CCTIAppExchange | [virtual]
Reset() | CCTIAppExchange | [virtual]
ResetObjectMap(ObjectFieldMap &map) | CCTIAppExchange | [virtual]
RunLogQuery(int nLayout, std::wstring &sObjectType, std::wstring &sId, CCTICallLog *pLog, RelObjSetList &listUiOutput) | CCTIAppExchange | [virtual]
SaveUserExtension(std::wstring &sExtension) | CCTIAppExchange |
SaveUserParams(PARAM_MAP &parameters) | CCTIAppExchange | [virtual]
Search(int nLayout, std::wstring sANI, PARAM_MAP &mapAttachedData, CCTICallLog *pLog, RelObjSetList &listUiOutput, bool bFallBackOnANISearch=true) | CCTIAppExchange | [virtual]
SetDatetimeFieldValue(ISObject4Ptr pSObject, _variant_t sFieldName, SYSTEMTIME st) | CCTIAppExchange | [static]
SetFieldValue(ISObject4Ptr pSObject, _variant_t sFieldName, std::wstring &sValue) | CCTIAppExchange | [static]
SetFieldValue(ISObject4Ptr pSObject, _variant_t sFieldName, _bstr_t sValue) | CCTIAppExchange | [static]
SetInstance(std::wstring sInstance) | CCTIAppExchange | [inline, protected, virtual]
SetSessionInstanceAndSid(ISForceSession4Ptr pSession, std::wstring sInstance, std::wstring sSid) | CCTIAppExchange | [static]
SetSid(std::wstring sSid) | CCTIAppExchange | [inline, protected, virtual]
SetTaskCompletedStatus(std::wstring sTaskCompletedStatus) | CCTIAppExchange | [inline, virtual]
SetTaskSubject(std::wstring sTaskSubject) | CCTIAppExchange | [inline, virtual]
SetUserId(std::wstring sUserId) | CCTIAppExchange | [inline, protected, virtual]
UpdateCachedInformation() | CCTIAppExchange | [virtual]
UpdateSid(std::wstring sInstance, std::wstring sSid) | CCTIAppExchange | [virtual]
UpsertCallLog(CCTICallLog *pLog) | CCTIAppExchange | [virtual]
~CCTIAppExchange(void) (defined in CCTIAppExchange) | CCTIAppExchange | [virtual]


Salesforce.com CTI Integration: CCTIAppExchangeSaveThread Class Reference

CCTIAppExchangeSaveThread Class Reference

#include <CTIAppExchangeSaveThread.h>

List of all members.

Public Member Functions

CCTIAppExchangeSaveThread (CCTIAppExchange *pAppExchange)
~CCTIAppExchangeSaveThread ()
void | UpsertCallLog (CCTICallLog *pLog)
void | SaveUserParamsToCustomSetup (PARAM_MAP &parameters)
void | SaveUserExtension (std::wstring &sExtension)

Static Public Member Functions

static LRESULT CALLBACK | HiddenWindowProc (HWND hwnd, UINT msg, WPARAM wp, LPARAM lp)

Protected Member Functions

void | ExitThread ()

Static Protected Member Functions

static DWORD WINAPI | RunThread (LPVOID pThreadParam)
static void | ThreadUpsertCallLog (ISForceSession4Ptr pSession, CSaveThreadInfo *pInfo)
static void | ThreadSaveUserParams (ISForceSession4Ptr pSession, CSaveThreadInfo *pThreadInfo)
static void | ThreadInitializeSave (ISForceSession4Ptr pSession, CCTIAppExchange *pAppExchange)
static void | ThreadSaveUserExtension (ISForceSession4Ptr pSession, std::wstring &sUserId, std::wstring &sExtension)

Protected Attributes

DWORD | m_dwThreadId
CCTIAppExchange * m_pAppExchange
HWND | m_hWnd
std::wstring | m_sHiddenWindowClassName

Static Protected Attributes

static bool | m_bExiting = false

Detailed Description

Version:
1.0
This class encapsulates a thread whose purpose is to save items to the Salesforce.com database via the AppExchange API. One use is creating and updating Task objects for call logs. Another is saving user login parameters.

This thread exists so that data can be saved in the background without freezing the user interface. The save thread is entirely managed by an instance of this class, which means that the thread gets created and started in the constructor of this class, and stopped and destroyed in the destructor.

Constructor & Destructor Documentation

CCTIAppExchangeSaveThread::CCTIAppExchangeSaveThread ( CCTIAppExchange * pAppExchange )

Creates an instance of CCTIAppExchangeSaveThread and starts the save thread.

CCTIAppExchangeSaveThread::~CCTIAppExchangeSaveThread ( )

Destroys this instance of CCTIAppExchangeSaveThread and stops the save thread.

Member Function Documentation

void CCTIAppExchangeSaveThread::ExitThread ( ) [protected]

Causes the save thread encapsulated by this object to exit. Should not be called directly; this method is called by this object's destructor, which is the preferred method of exiting the thread.

LRESULT CALLBACK CCTIAppExchangeSaveThread::HiddenWindowProc | ( | HWND | hwnd,
 |  | UINT | msg,
 |  | WPARAM | wp,
 |  | LPARAM | lp
 | ) | [static]

The WindowProc method that handles calls from the hidden window that this class uses to communicate with the main thread.

Parameters:
hwnd | The window handle.
msg | The message.
wp | The word param.
lp | The long param.
Returns:
Always 0.

DWORD CCTIAppExchangeSaveThread::RunThread ( LPVOID pThreadParam ) [static, protected]

Launches the save thread. This should only be called by this class's constructor so that there is a CCTIAppExchangeSaveThread instance that encapsulates the thread.

Parameters:
pThreadParam
Returns:
Always 0.

void CCTIAppExchangeSaveThread::SaveUserExtension ( std::wstring & sExtension )

Updates the extension field of the current user to the specified value.

Parameters:
sExtension The current user's extension.

void CCTIAppExchangeSaveThread::SaveUserParamsToCustomSetup ( PARAM_MAP & parameters )

Saves the values in the input map to the user's CTI/ user key space in custom setup.

Note that if the input map includes an entry called KEY_PASSWORD then that value will be encrypted prior to being saved to CustomSetup.

Parameters:
parameters The key-value pairs to save to the custom setup table.

void CCTIAppExchangeSaveThread::ThreadInitializeSave | ( | ISForceSession4Ptr | pSession,
 |  | CCTIAppExchange * | pAppExchange
 | ) | [static, protected]

Initializes this save thread.

Parameters:
pSession | The Office Toolkit session.
pAppExchange | The AppExchange object that owns this thread.

void CCTIAppExchangeSaveThread::ThreadSaveUserExtension | ( | ISForceSession4Ptr | pSession,
 |  | std::wstring & | sUserId,
 |  | std::wstring & | sExtension
 | ) | [static, protected]

Saves the input extension into the Extension field of the User object with the user ID stored in the CCTIAppExchange object.

Parameters:
pSession | The Office Toolkit session.
sUserId | The user ID for which to update the extension.
sExtension | The extension to save.

void CCTIAppExchangeSaveThread::ThreadSaveUserParams | ( | ISForceSession4Ptr | pSession,
 |  | CSaveThreadInfo * | pThreadInfo
 | ) | [static, protected]

Saves the user parameters specified into CustomSetup's CTI/ subkey.

Parameters:
pSession | The Office Toolkit session.
sInstance | The current user's instance (like https://na1.salesforce.com)
parameters | The parameters to save.

void CCTIAppExchangeSaveThread::ThreadUpsertCallLog | ( | ISForceSession4Ptr | pSession,
 |  | CSaveThreadInfo * | pInfo
 | ) | [static, protected]

Creates a Task object for the input call log.

Parameters:
pSession | The Office Toolkit session.
pInfo | The Save Thread Info object that stores the information that this method requires.

void CCTIAppExchangeSaveThread::UpsertCallLog ( CCTICallLog * pLog )

Requests the save thread to create or update a Task object with the information contained in the call log object. When the save thread has finished, it will store the ID of the newly created task in the call log object's ID attribute (or it will update the Task object with the ID that was previously saved in the call log)

Parameters:
pLog The call log object.

Member Data Documentation

bool CCTIAppExchangeSaveThread::m_bExiting = false [static, protected]

A static flag that indicates to the save thread, if it's true, that the adapter is exiting, so it shouldn't make any calls to memory outside its thread space.

DWORD CCTIAppExchangeSaveThread::m_dwThreadId [protected]

The thread ID of the save thread.

HWND CCTIAppExchangeSaveThread::m_hWnd [protected]

The handle of the hidden window used to send messages from the search thread to the main thread.

CCTIAppExchange* CCTIAppExchangeSaveThread::m_pAppExchange [protected]

The parent CCTIAppExchange of this object.

std::wstring CCTIAppExchangeSaveThread::m_sHiddenWindowClassName [protected]

The class name of the hidden window. It is generated dynamically before the window is created.


Salesforce.com CTI Integration: Member List

CCTIAppExchangeSaveThread Member List

This is the complete list of members for CCTIAppExchangeSaveThread, including all inherited members.

CCTIAppExchangeSaveThread(CCTIAppExchange *pAppExchange) | CCTIAppExchangeSaveThread |
ExitThread() | CCTIAppExchangeSaveThread | [protected]
HiddenWindowProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp) | CCTIAppExchangeSaveThread | [static]
m_bExiting | CCTIAppExchangeSaveThread | [protected, static]
m_dwThreadId | CCTIAppExchangeSaveThread | [protected]
m_hWnd | CCTIAppExchangeSaveThread | [protected]
m_pAppExchange | CCTIAppExchangeSaveThread | [protected]
m_sHiddenWindowClassName | CCTIAppExchangeSaveThread | [protected]
RunThread(LPVOID pThreadParam) | CCTIAppExchangeSaveThread | [protected, static]
SaveUserExtension(std::wstring &sExtension) | CCTIAppExchangeSaveThread |
SaveUserParamsToCustomSetup(PARAM_MAP &parameters) | CCTIAppExchangeSaveThread |
ThreadInitializeSave(ISForceSession4Ptr pSession, CCTIAppExchange *pAppExchange) | CCTIAppExchangeSaveThread | [protected, static]
ThreadSaveUserExtension(ISForceSession4Ptr pSession, std::wstring &sUserId, std::wstring &sExtension) | CCTIAppExchangeSaveThread | [protected, static]
ThreadSaveUserParams(ISForceSession4Ptr pSession, CSaveThreadInfo *pThreadInfo) | CCTIAppExchangeSaveThread | [protected, static]
ThreadUpsertCallLog(ISForceSession4Ptr pSession, CSaveThreadInfo *pInfo) | CCTIAppExchangeSaveThread | [protected, static]
UpsertCallLog(CCTICallLog *pLog) | CCTIAppExchangeSaveThread |
~CCTIAppExchangeSaveThread() | CCTIAppExchangeSaveThread |


Salesforce.com CTI Integration: CCTIAppExchangeSearchThread Class Reference

CCTIAppExchangeSearchThread Class Reference

#include <CTIAppExchangeSearchThread.h>

List of all members.

Public Member Functions

CCTIAppExchangeSearchThread (CCTIAppExchange *pAppExchange)
~CCTIAppExchangeSearchThread ()
virtual void | Search (int nLayout, std::wstring sCallObjectId, std::wstring sPartyId, std::wstring sCallLogQueryWho, std::wstring sCallLogQueryWhat, BSTRList &listIVRQueries, _bstr_t bsANIQuery)

Static Public Member Functions

static LRESULT CALLBACK | HiddenWindowProc (HWND hwnd, UINT msg, WPARAM wp, LPARAM lp)

Protected Member Functions

virtual void | ExitThread ()

Static Protected Member Functions

static DWORD WINAPI | RunThread (LPVOID pThreadParam)
static void | ThreadSearch (ISForceSession4Ptr pSession, CSearchThreadInfo *pInfo)
static void | ThreadRunLogQuery (ISForceSession4Ptr pSession, CSearchThreadInfo *pInfo, std::wstring sCallLogQuery, RelObjSetList &listRelObjSets)

Protected Attributes

DWORD | m_dwThreadId
CCTIAppExchange * m_pAppExchange
HWND | m_hWnd
std::wstring | m_sHiddenWindowClassName

Static Protected Attributes

static bool | m_bExiting = false

Detailed Description

Version:
1.0
This class encapsulates a thread whose purpose is to search for items in the Salesforce.com database via the AppExchange API. One such use is searching for ANIs and IVR data.

This thread exists so that data can be searched in the background without freezing the user interface. The search thread is entirely managed by an instance of this class, which means that the thread gets created and started in the constructor of this class, and stopped and destroyed in the destructor.

Constructor & Destructor Documentation

CCTIAppExchangeSearchThread::CCTIAppExchangeSearchThread ( CCTIAppExchange * pAppExchange )

Creates an instance of CCTIAppExchangeSearchThread and starts the save thread.

CCTIAppExchangeSearchThread::~CCTIAppExchangeSearchThread ( )

Destroys this instance of CCTIAppExchangeSearchThread and stops the save thread.

Member Function Documentation

void CCTIAppExchangeSearchThread::ExitThread ( ) [protected, virtual]

Causes the save thread encapsulated by this object to exit. Should not be called directly; this method is called by this object's destructor, which is the preferred method of exiting the thread.

LRESULT CALLBACK CCTIAppExchangeSearchThread::HiddenWindowProc | ( | HWND | hwnd,
 |  | UINT | msg,
 |  | WPARAM | wp,
 |  | LPARAM | lp
 | ) | [static]

The WindowProc method that handles calls from the hidden window that this class uses to communicate with the main thread.

Parameters:
hwnd | The window handle.
msg | The message.
wp | The word param.
lp | The long param.
Returns:
Always 0.

DWORD CCTIAppExchangeSearchThread::RunThread ( LPVOID pThreadParam ) [static, protected]

Launches the save thread. This should only be called by this class's constructor so that there is a CCTIAppExchangeSaveThread instance that encapsulates the thread.

Parameters:
pThreadParam
Returns:
Always 0.

void CCTIAppExchangeSearchThread::Search | ( | int | nLayout,
 |  | std::wstring | sCallObjectId,
 |  | std::wstring | sPartyId,
 |  | std::wstring | sCallLogQueryWho,
 |  | std::wstring | sCallLogQueryWhat,
 |  | BSTRList & | listIVRQueries,
 |  | _bstr_t | bsANIQuery
 | ) | [virtual]

Instructs the search thread to perform an asynchronous search. It will first search based on the log information specified, then using the IVR queries, and finally using the ANI search. If any of the three searches produce results, it will notify the main thread to update the UI to reflect the search results.

Note that if the call log data, IVR query list, or ANI query is empty, they will silently be ignored.

Parameters:
nLayout | The ID of the layout.
sCallObjectId | The call object ID of the call we're performing a search for.
sPartyId | The ANI of the party to which this search applies.
sCallLogQueryWho | The attached Who data.
sCallLogQueryWhat | The attached What data.
listIVRQueries | The list of IVR queries to run.
bsANIQuery | The ANI query to run.

void CCTIAppExchangeSearchThread::ThreadSearch | ( | ISForceSession4Ptr | pSession,
 |  | CSearchThreadInfo * | pInfo
 | ) | [static, protected]

Performs a background search, first using the call log information, then using the IVR query if it's available, and finally falling back on a SOSL search on the ANI.

Parameters:
pSession | The session to search with.
pInfo | The search thread info.

Member Data Documentation

bool CCTIAppExchangeSearchThread::m_bExiting = false [static, protected]

A static flag that indicates to the save thread, if it's true, that the adapter is exiting, so it shouldn't make any calls to memory outside its thread space.

DWORD CCTIAppExchangeSearchThread::m_dwThreadId [protected]

The thread ID of the search thread.

HWND CCTIAppExchangeSearchThread::m_hWnd [protected]

The handle of the hidden window used to send messages from the search thread to the main thread.

CCTIAppExchange* CCTIAppExchangeSearchThread::m_pAppExchange [protected]

The parent CCTIAppExchange of this object.

std::wstring CCTIAppExchangeSearchThread::m_sHiddenWindowClassName [protected]

The class name of the hidden window. It is generated dynamically before the window is created.


Salesforce.com CTI Integration: Member List

CCTIAppExchangeSearchThread Member List

This is the complete list of members for CCTIAppExchangeSearchThread, including all inherited members.

CCTIAppExchangeSearchThread(CCTIAppExchange *pAppExchange) | CCTIAppExchangeSearchThread |
ExitThread() | CCTIAppExchangeSearchThread | [protected, virtual]
HiddenWindowProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp) | CCTIAppExchangeSearchThread | [static]
m_bExiting | CCTIAppExchangeSearchThread | [protected, static]
m_dwThreadId | CCTIAppExchangeSearchThread | [protected]
m_hWnd | CCTIAppExchangeSearchThread | [protected]
m_pAppExchange | CCTIAppExchangeSearchThread | [protected]
m_sHiddenWindowClassName | CCTIAppExchangeSearchThread | [protected]
RunThread(LPVOID pThreadParam) | CCTIAppExchangeSearchThread | [protected, static]
Search(int nLayout, std::wstring sCallObjectId, std::wstring sPartyId, std::wstring sCallLogQueryWho, std::wstring sCallLogQueryWhat, BSTRList &listIVRQueries, _bstr_t bsANIQuery) | CCTIAppExchangeSearchThread | [virtual]
ThreadRunLogQuery(ISForceSession4Ptr pSession, CSearchThreadInfo *pInfo, std::wstring sCallLogQuery, RelObjSetList &listRelObjSets) (defined in CCTIAppExchangeSearchThread) | CCTIAppExchangeSearchThread | [protected, static]
ThreadSearch(ISForceSession4Ptr pSession, CSearchThreadInfo *pInfo) | CCTIAppExchangeSearchThread | [protected, static]
~CCTIAppExchangeSearchThread() | CCTIAppExchangeSearchThread |


Salesforce.com CTI Integration: CCTIButton Class Reference

CCTIButton Class Reference

#include <CTIButton.h>

Inheritance diagram for CCTIButton:

CCTIIdLabelObject CCTIObject CCriticalSection ILockable List of all members.

Public Member Functions

CCTIButton (std::wstring sId, std::wstring sLabel=L"")
virtual std::wstring | GetIconURL ()
virtual void | SetIconURL (std::wstring sUrl)
virtual std::wstring | GetPressedIconURL ()
virtual void | SetPressedIconURL (std::wstring sUrl)
virtual std::wstring | GetLinkURL ()
virtual void | SetLinkURL (std::wstring sUrl)
virtual std::wstring | GetColor ()
virtual void | SetColor (std::wstring sColor)
virtual bool | GetIsToggleButton ()
virtual void | SetIsToggleButton (bool bToggle)
virtual bool | GetLongStyle ()
virtual void | SetLongStyle (bool bLongStyle)
virtual bool | GetToggleState ()
virtual void | GetToggleState (bool bToggleState)
virtual _bstr_t | GetTag ()
virtual CCTIButton * | Clone ()

Detailed Description

Version:
1.0
This class represents a button in the Salesforce.com CTI user interface.

Member Function Documentation

CCTIButton * CCTIButton::Clone ( ) [virtual]

Creates a new button object with the very same attributes as the original. Note that is it the caller's responsibility to dispose of the new object created here.

Returns:
A new button object with the very same attributes as the original

virtual std::wstring CCTIButton::GetColor ( ) [inline, virtual]

Returns:
The long-style button color.

virtual std::wstring CCTIButton::GetLinkURL ( ) [inline, virtual]

Gets this button's LINK_URL parameter.

Returns:
The URL to pop up when this button is pressed.

virtual bool CCTIButton::GetLongStyle ( ) [inline, virtual]

Gets whether this button is long-style or not. A long-style button encompasses the full width of the softphone.

Returns:

virtual _bstr_t CCTIButton::GetTag ( ) [inline, virtual]

Gets the XML tag associated with this object.

Returns:
The XML tag associated with this object.

Reimplemented from CCTIObject.

virtual void CCTIButton::SetColor ( std::wstring sColor ) [inline, virtual]

Sets the button color of a long-style button. For a long-style button, should be one of KEY_RED, KEY_GREEN, or "BEIGE." Ignored for short-style buttons.

Parameters:
sColor The long-style button color.

virtual void CCTIButton::SetLinkURL ( std::wstring sUrl ) [inline, virtual]

Sets this button's LINK_URL parameter. If this is set, then the button will pop up a new window to this link rather than sending a message to the CTI client.

Parameters:
sUrl The URL to pop up when this button is pressed.


Salesforce.com CTI Integration: Member List

CCTIButton Member List

This is the complete list of members for CCTIButton, including all inherited members.

AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement) | CCTIObject | [virtual]
AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild) | CCTIObject | [virtual]
AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CCriticalSection() | CCriticalSection |
CCTIButton(std::wstring sId, std::wstring sLabel=L"") (defined in CCTIButton) | CCTIButton |
CCTIButton(void) (defined in CCTIButton) | CCTIButton |
CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIIdLabelObject(std::wstring sId, std::wstring sLabel=L"") (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIObject() (defined in CCTIObject) | CCTIObject |
Clone() | CCTIButton | [virtual]
Enter() const | CCriticalSection | [virtual]
GetAttribute(std::wstring sName) | CCTIObject | [virtual]
GetColor() | CCTIButton | [inline, virtual]
GetIconURL() (defined in CCTIButton) | CCTIButton | [inline, virtual]
GetId(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
GetIsToggleButton() (defined in CCTIButton) | CCTIButton | [inline, virtual]
GetLabel(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
GetLinkURL() | CCTIButton | [inline, virtual]
GetLongStyle() | CCTIButton | [inline, virtual]
GetPressedIconURL() (defined in CCTIButton) | CCTIButton | [inline, virtual]
GetTag() | CCTIButton | [inline, virtual]
GetToggleState() (defined in CCTIButton) | CCTIButton | [inline, virtual]
GetToggleState(bool bToggleState) (defined in CCTIButton) | CCTIButton | [inline, virtual]
GetVisible() | CCTIObject | [virtual]
Leave() const | CCriticalSection | [virtual]
m_bVisible | CCTIObject | [protected]
m_CS | CCriticalSection | [protected]
m_mapAttributes | CCTIObject | [protected]
RemoveAttribute(std::wstring sName) | CCTIObject | [virtual]
SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, std::wstring sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, const wchar_t *sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, bool bValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, int nValue) | CCTIObject | [virtual]
SetColor(std::wstring sColor) | CCTIButton | [inline, virtual]
SetIconURL(std::wstring sUrl) (defined in CCTIButton) | CCTIButton | [inline, virtual]
SetId(std::wstring sId) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetIsToggleButton(bool bToggle) (defined in CCTIButton) | CCTIButton | [inline, virtual]
SetLabel(std::wstring sLabel) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetLinkURL(std::wstring sUrl) | CCTIButton | [inline, virtual]
SetLongStyle(bool bLongStyle) (defined in CCTIButton) | CCTIButton | [inline, virtual]
SetPressedIconURL(std::wstring sUrl) (defined in CCTIButton) | CCTIButton | [inline, virtual]
SetVisible(bool bVisible) | CCTIObject | [virtual]
~CCriticalSection() | CCriticalSection |
~CCTIButton(void) (defined in CCTIButton) | CCTIButton | [virtual]
~CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
~CCTIObject() (defined in CCTIObject) | CCTIObject | [virtual]
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]


Salesforce.com CTI Integration: CCTICallLog Class Reference

CCTICallLog Class Reference

#include <CTICallLog.h>

Inheritance diagram for CCTICallLog:

CCTIIdLabelObject CCTIObject CCriticalSection ILockable List of all members.

Public Member Functions

CCTICallLog (CCTIUserInterface *pUI, std::wstring sLabel, int nLineNumber, bool bOpen)
virtual void | SetOpen (bool bOpen)
virtual bool | GetOpen ()
virtual void | SetSaveOnEnd (bool bSaveOnEnd)
virtual bool | GetSaveOnEnd ()
virtual void | SetLineNumber (int nLineNumber)
virtual int | GetLineNumber ()
virtual _bstr_t | GetTag ()
virtual MSXML2::IXMLDOMDocumentFragmentPtr | SerializeToXML (MSXML2::IXMLDOMDocumentPtr pXMLDoc)
virtual int | AddObject (std::wstring &sId, std::wstring &sObjectLabel, std::wstring &sObjectName, std::wstring &sEntityName, bool bAttachToCall=true, bool bAutoSelect=true)
void | AddRelatedObjects (RelObjSetList *listRelObjSets)
virtual void | SelectObject (std::wstring sId, bool bAttachToCall=true)
virtual void | DeselectObject (int nWhoOrWhat)
virtual void | SetCallDuration (int nCallDuration)
virtual int | GetCallDuration ()
virtual void | SetEditMode (bool bEditMode)
virtual bool | GetEditMode ()
virtual void | CancelEditMode ()
virtual void | SetCallObjectId (std::wstring sCallObjectId)
virtual std::wstring | GetCallObjectId ()
virtual void | SetCallDisposition (std::wstring sCallDisposition)
virtual std::wstring | GetCallDisposition ()
void | SetDirty (bool bDirty)
bool | GetDirty ()
void | SetCallIsActive (bool bCallIsActive)
bool | GetCallIsActive ()
virtual void | SetComments (std::wstring sComments)
virtual std::wstring | GetComments ()
virtual std::wstring | GetSelectedWhoId ()
virtual std::wstring | GetSelectedWhatId ()
virtual void | SetCallType (int nCallType)
virtual int | GetCallType ()

Static Public Member Functions

static bool | IsAWho (std::wstring &sId)
static bool | IsALead (std::wstring &sId)
static bool | IsAUser (std::wstring &sId)

Protected Member Functions

virtual void | AttachLogObjectsToCall ()

Protected Attributes

bool | m_bOpen
bool | m_bSaveOnEnd
int | m_nLineNumber
bool | m_bEditMode
WhoWhatMap | m_mapWhos
WhoWhatMap | m_mapWhats
CCTIWhoWhat m_whoNone
CCTIWhoWhat m_whatNone
std::wstring | m_sSelectedWhoId
std::wstring | m_sSelectedWhatId
std::wstring | m_sComments
std::wstring | m_sCallDisposition
std::wstring | m_sOldSelectedWhoId
std::wstring | m_sOldSelectedWhatId
std::wstring | m_sOldComments
std::wstring | m_sOldLabel
bool | m_bDirty
bool | m_bCallIsActive
int | m_nCallDuration
std::wstring | m_sCallObjectId
int | m_nCallType
CCTIUserInterface * m_pUI

Detailed Description

Version:
1.0
This class represents a call log for a current or previous call in the Salesforce.com CTI user interface. The ID field of this class (inherited from CCTIIdLabelObject) is the ID of the task that's created for this log (or the empty string if none has been created); the LABEL field of this class is the Subject field of the task that was created.

Constructor & Destructor Documentation

CCTICallLog::CCTICallLog | ( | CCTIUserInterface * | pUI,
 |  | std::wstring | sLabel,
 |  | int | nLineNumber,
 |  | bool | bOpen
 | ) |

Parameters:
sLabel | The label of the task that will be created for this call log
nLineNumber | The line number of this call log
bOpen | True if this call log should be open

Member Function Documentation

int CCTICallLog::AddObject | ( | std::wstring & | sId,
 |  | std::wstring & | sObjectLabel,
 |  | std::wstring & | sObjectName,
 |  | std::wstring & | sEntityName,
 |  | bool | bAttachToCall = true,
 |  | bool | bAutoSelect = true
 | ) | [virtual]

Adds an object to the list of available whos or whats and makes it selected in that dropdown. The object is a "who" if it is a Contact or Lead (so its ID starts with 003 or 00Q), otherwise it's a what.

Parameters:
sId | The ID of the object to add.
sObjectLabel | The label of the object to add (like "Contact").
sObjectName | The object name of the object to add (like "Harry Williams")
sEntityName | The name of the entity in the API (like "Contact", or "Issue__c" for a custom object called "Issue").
bAttachToCall | (optional) True if this object should be attached to the call after it's added to the log.
bAutoSelect | (optional) True if this object should be auto selected after it's added to the log.
Returns:
LOG_OBJECTTYPE_WHO if the added object is a who, LOG_OBJECTTYPE_WHAT if it is a what, or NULL if it could not be added

void CCTICallLog::AddRelatedObjects ( RelObjSetList * listRelObjSets )

Adds all the related objects in the input list of related object sets to the dropdowns of this call log, to a maximum of LOG_MAXIMUM_RELATED_OBJECTS per dropdown.

Parameters:
listRelObjSets A list of related object sets

void CCTICallLog::AttachLogObjectsToCall ( ) [protected, virtual]

Attaches the whoId and whatId to the call object itself. This only works if the underlying CCTIUserInterface subclass has implemented attachments.

void CCTICallLog::DeselectObject ( int nWhoOrWhat ) [virtual]

Deselects whatever object is selected in the who or what dropdown.

Parameters:
nWhoOrWhat Determines which dropdown to deselect. Must be one of LOG_OBJECTTYPE_WHO or LOG_OBJECTTYPE_WHAT.

virtual std::wstring CCTICallLog::GetCallDisposition ( ) [inline, virtual]

Returns:
The call disposition (aka wrapup code) of the call that this log is associated with.

virtual int CCTICallLog::GetCallDuration ( ) [inline, virtual]

Returns:
The duration of the call that this log is associated with.

bool CCTICallLog::GetCallIsActive ( )

Gets whether this log is associated with a currently active call (to which data can be attached).

Returns:
True if this log is associated with a currently active call.

std::wstring CCTICallLog::GetCallObjectId ( ) [virtual]

Returns:
The call object ID of the call that this log is associated with.

virtual int CCTICallLog::GetCallType ( ) [inline, virtual]

Gets the call type of the call this log pertains to.

Returns:
One of CALLTYPE_INTERNAL, CALLTYPE_INBOUND, or CALLTYPE_OUTBOUND.

virtual std::wstring CCTICallLog::GetComments ( ) [inline, virtual]

Returns:
The comments of this log.

bool CCTICallLog::GetDirty ( )

Gets whether this log has changed since it was last saved to the AppExchange API.

Returns:
True if this log has changed since it was last saved.

virtual bool CCTICallLog::GetEditMode ( ) [inline, virtual]

Returns:
True if this call log is in edit mode. Only applies to previous call logs.

int CCTICallLog::GetLineNumber ( ) [virtual]

Gets the line number that this call log is associated with.

Returns:
The line number that this log is associated with, or 0 if no such line exists or this call log is unassociated with a line.

bool CCTICallLog::GetOpen ( ) [virtual]

Gets the open state of this call log. Only applicable to current call logs, not previous ones.

Returns:
True if the call log is open, false if it's "rolled up."

virtual bool CCTICallLog::GetSaveOnEnd ( ) [inline, virtual]

Gets the SaveOnEnd state of this call log. Only applicable to current call logs, not previous ones.

Returns:
True if the call log should save itself to the AppExchange API when the call is ended.

virtual std::wstring CCTICallLog::GetSelectedWhatId ( ) [inline, virtual]

Returns:
The selected what ID of this log.

virtual std::wstring CCTICallLog::GetSelectedWhoId ( ) [inline, virtual]

Returns:
The selected who ID of this log.

virtual _bstr_t CCTICallLog::GetTag ( ) [inline, virtual]

Gets the XML tag associated with this object.

Returns:
The XML tag associated with this object.

Reimplemented from CCTIObject.

bool CCTICallLog::IsALead ( std::wstring & sId ) [static]

Returns true if the specified ID refers to a Lead object (one with an ID starting with 00Q), and false otherwise.

Parameters:
sId The ID of the object.
Returns:
True if the specified ID refers to a Lead object.

bool CCTICallLog::IsAUser ( std::wstring & sId ) [static]

Returns true if the specified ID refers to a User object (one with an ID starting with 005), and false otherwise.

Parameters:
sId The ID of the object.
Returns:
True if the specified ID refers to a User object.

bool CCTICallLog::IsAWho ( std::wstring & sId ) [static]

Returns true if the specified ID refers to a "who" object (one with an ID starting with 003 or 00Q), and false otherwise. An object that is not a "who" is, by definition, a "what."

Parameters:
sId The ID of the object.
Returns:
True if the specified ID refers to a "who" object.

void CCTICallLog::SelectObject | ( | std::wstring | sId,
 |  | bool | bAttachToCall = true
 | ) | [virtual]

Selects the object with the given ID in the appropriate box (either who or what). The object selected is a "who" if it is a Contact or Lead (so its ID starts with 003 or 00Q), otherwise it's a what. The object to be selected must already be an option in

Parameters:
sId | The ID of the object to be selected.
bAttachToCall | (optional) True if the newly selected value should be attached to the call.

MSXML2::IXMLDOMDocumentFragmentPtr CCTICallLog::SerializeToXML ( MSXML2::IXMLDOMDocumentPtr pXMLDoc ) [virtual]

Serializes this object to XML.

Parameters:
pXMLDoc The document object (used to create all elements, attributes, etc.).
Returns:
A document fragment that represents this object serialized to XML.

Reimplemented from CCTIObject.

virtual void CCTICallLog::SetCallDisposition ( std::wstring sCallDisposition ) [inline, virtual]

Sets the call disposition (aka wrapup code) of the call that this log is associated with. This method should be called prior to the creation of the Task object for this call log.

Parameters:
sCallDisposition The call object ID.

virtual void CCTICallLog::SetCallDuration ( int nCallDuration ) [inline, virtual]

Sets the duration of the call that this log is associated with. This method should be called after the phone call completes, but prior to the creation of the Task object for this call log.

Parameters:
nCallDuration The call duration in seconds.

void CCTICallLog::SetCallIsActive ( bool bCallIsActive )

Sets whether this log is associated with a currently active call (to which data can be attached).

Parameters:
bCallIsActive True if this log is associated with a currently active call.

void CCTICallLog::SetCallObjectId ( std::wstring sCallObjectId ) [virtual]

Sets the call object ID of the call that this log is associated with. This method should be called prior to the creation of the Task object for this call log.

Parameters:
sCallObjectId The call object ID.

virtual void CCTICallLog::SetCallType ( int nCallType ) [inline, virtual]

Sets this call type of the call this log pertains to. Should be one of CALLTYPE_INTERNAL, CALLTYPE_INBOUND, or CALLTYPE_OUTBOUND.

Parameters:
nCallType Should be one of CALLTYPE_INTERNAL, CALLTYPE_INBOUND, or CALLTYPE_OUTBOUND.

void CCTICallLog::SetComments ( std::wstring sComments ) [virtual]

Sets the comments of this log.

Parameters:
sComments The comments.

void CCTICallLog::SetDirty ( bool bDirty )

Sets whether this log has changed since it was last saved to the AppExchange API.

Parameters:
bDirty True if this log has changed since it was last saved.

void CCTICallLog::SetEditMode ( bool bEditMode ) [virtual]

Sets whether this call log is in edit mode. Only applies to previous call logs.

Parameters:
bEditMode True if this call log should be in edit mode.

void CCTICallLog::SetLineNumber ( int nLineNumber ) [virtual]

Sets the line number that this call log is associated with. Only applicable to current call logs, not previous ones.

Parameters:
pLine The line number this log should be associated with.

void CCTICallLog::SetOpen ( bool bOpen ) [virtual]

Sets the open state of this call log. Only applicable to current call logs, not previous ones.

Parameters:
bOpen True if the call log should be open, false if it's "rolled up."

virtual void CCTICallLog::SetSaveOnEnd ( bool bSaveOnEnd ) [inline, virtual]

Sets the SaveOnEnd state of this call log. This flag should be set once the call has been established to indicate that the log should be saved when the call is ended. Only applicable to current call logs, not previous ones.

Parameters:
bSaveOnEnd True if the call log should save itself to the AppExchange API when the call is ended.

Member Data Documentation

bool CCTICallLog::m_bCallIsActive [protected]

Flag indicating whether this call log is associated with a currently active call (that data can be attached to).

bool CCTICallLog::m_bDirty [protected]

Flag indicating whether this call log has changed since it was last upserted.

bool CCTICallLog::m_bEditMode [protected]

Indicates whether his call log is in edit mode. Only applicable to previous call logs.

bool CCTICallLog::m_bOpen [protected]

Indicates whether this call log is open or "rolled up." Only applicable to current call logs, not previous ones.

bool CCTICallLog::m_bSaveOnEnd [protected]

The call log gets created when the call begins, but it should only get saved after the call is established. This flag should be set after the call is established to indicate that the call should indeed be saved.

WhoWhatMap CCTICallLog::m_mapWhats [protected]

A map of IDs to the names of the available whats (which comprise every object other than Contacts or Leads) for this log.

WhoWhatMap CCTICallLog::m_mapWhos [protected]

A map of IDs to the names of the available whos (which comprise Contacts or Leads) for this log.

int CCTICallLog::m_nCallDuration [protected]

The duration of a call. This should only be set for calls that have completed.

int CCTICallLog::m_nCallType [protected]

The call type of the call that this log pertains to.

int CCTICallLog::m_nLineNumber [protected]

The line number that this call log is associated with.

CCTIUserInterface* CCTICallLog::m_pUI [protected]

The CCTIUserInterface that created this log.

std::wstring CCTICallLog::m_sCallDisposition [protected]

The call disposition (aka wrapup code) of the call that this log is associated with.

std::wstring CCTICallLog::m_sCallObjectId [protected]

The call object ID that this log pertains to.

std::wstring CCTICallLog::m_sComments [protected]

The comments associated with this log.

std::wstring CCTICallLog::m_sOldComments [protected]

The comments associated with this log prior to editing.

std::wstring CCTICallLog::m_sOldLabel [protected]

The subject of this log prior to editing.

std::wstring CCTICallLog::m_sOldSelectedWhatId [protected]

The ID of the what which was selected prior to editing.

std::wstring CCTICallLog::m_sOldSelectedWhoId [protected]

The ID of the who which was selected prior to editing.

std::wstring CCTICallLog::m_sSelectedWhatId [protected]

The ID of the what which is presently selected.

std::wstring CCTICallLog::m_sSelectedWhoId [protected]

The ID of the who which is presently selected.

CCTIWhoWhat CCTICallLog::m_whatNone [protected]

A placeholder object for the "blank what."

CCTIWhoWhat CCTICallLog::m_whoNone [protected]

A placeholder object for the "blank who."


Salesforce.com CTI Integration: Member List

CCTICallLog Member List

This is the complete list of members for CCTICallLog, including all inherited members.

AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement) | CCTIObject | [virtual]
AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild) | CCTIObject | [virtual]
AddObject(std::wstring &sId, std::wstring &sObjectLabel, std::wstring &sObjectName, std::wstring &sEntityName, bool bAttachToCall=true, bool bAutoSelect=true) | CCTICallLog | [virtual]
AddRelatedObjects(RelObjSetList *listRelObjSets) | CCTICallLog |
AttachLogObjectsToCall() | CCTICallLog | [protected, virtual]
AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CancelEditMode() (defined in CCTICallLog) | CCTICallLog | [virtual]
CCriticalSection() | CCriticalSection |
CCTICallLog(CCTIUserInterface *pUI, std::wstring sLabel, int nLineNumber, bool bOpen) | CCTICallLog |
CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIIdLabelObject(std::wstring sId, std::wstring sLabel=L"") (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIObject() (defined in CCTIObject) | CCTIObject |
DeselectObject(int nWhoOrWhat) | CCTICallLog | [virtual]
Enter() const | CCriticalSection | [virtual]
GetAttribute(std::wstring sName) | CCTIObject | [virtual]
GetCallDisposition() | CCTICallLog | [inline, virtual]
GetCallDuration() | CCTICallLog | [inline, virtual]
GetCallIsActive() | CCTICallLog |
GetCallObjectId() | CCTICallLog | [virtual]
GetCallType() | CCTICallLog | [inline, virtual]
GetComments() | CCTICallLog | [inline, virtual]
GetDirty() | CCTICallLog |
GetEditMode() | CCTICallLog | [inline, virtual]
GetId(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
GetLabel(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
GetLineNumber() | CCTICallLog | [virtual]
GetOpen() | CCTICallLog | [virtual]
GetSaveOnEnd() | CCTICallLog | [inline, virtual]
GetSelectedWhatId() | CCTICallLog | [inline, virtual]
GetSelectedWhoId() | CCTICallLog | [inline, virtual]
GetTag() | CCTICallLog | [inline, virtual]
GetVisible() | CCTIObject | [virtual]
IsALead(std::wstring &sId) | CCTICallLog | [static]
IsAUser(std::wstring &sId) | CCTICallLog | [static]
IsAWho(std::wstring &sId) | CCTICallLog | [static]
Leave() const | CCriticalSection | [virtual]
m_bCallIsActive | CCTICallLog | [protected]
m_bDirty | CCTICallLog | [protected]
m_bEditMode | CCTICallLog | [protected]
m_bOpen | CCTICallLog | [protected]
m_bSaveOnEnd | CCTICallLog | [protected]
m_bVisible | CCTIObject | [protected]
m_CS | CCriticalSection | [protected]
m_mapAttributes | CCTIObject | [protected]
m_mapWhats | CCTICallLog | [protected]
m_mapWhos | CCTICallLog | [protected]
m_nCallDuration | CCTICallLog | [protected]
m_nCallType | CCTICallLog | [protected]
m_nLineNumber | CCTICallLog | [protected]
m_pUI | CCTICallLog | [protected]
m_sCallDisposition | CCTICallLog | [protected]
m_sCallObjectId | CCTICallLog | [protected]
m_sComments | CCTICallLog | [protected]
m_sOldComments | CCTICallLog | [protected]
m_sOldLabel | CCTICallLog | [protected]
m_sOldSelectedWhatId | CCTICallLog | [protected]
m_sOldSelectedWhoId | CCTICallLog | [protected]
m_sSelectedWhatId | CCTICallLog | [protected]
m_sSelectedWhoId | CCTICallLog | [protected]
m_whatNone | CCTICallLog | [protected]
m_whoNone | CCTICallLog | [protected]
RemoveAttribute(std::wstring sName) | CCTIObject | [virtual]
SelectObject(std::wstring sId, bool bAttachToCall=true) | CCTICallLog | [virtual]
SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc) | CCTICallLog | [virtual]
SetAttribute(std::wstring sName, std::wstring sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, const wchar_t *sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, bool bValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, int nValue) | CCTIObject | [virtual]
SetCallDisposition(std::wstring sCallDisposition) | CCTICallLog | [inline, virtual]
SetCallDuration(int nCallDuration) | CCTICallLog | [inline, virtual]
SetCallIsActive(bool bCallIsActive) | CCTICallLog |
SetCallObjectId(std::wstring sCallObjectId) | CCTICallLog | [virtual]
SetCallType(int nCallType) | CCTICallLog | [inline, virtual]
SetComments(std::wstring sComments) | CCTICallLog | [virtual]
SetDirty(bool bDirty) | CCTICallLog |
SetEditMode(bool bEditMode) | CCTICallLog | [virtual]
SetId(std::wstring sId) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetLabel(std::wstring sLabel) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetLineNumber(int nLineNumber) | CCTICallLog | [virtual]
SetOpen(bool bOpen) | CCTICallLog | [virtual]
SetSaveOnEnd(bool bSaveOnEnd) | CCTICallLog | [inline, virtual]
SetVisible(bool bVisible) | CCTIObject | [virtual]
~CCriticalSection() | CCriticalSection |
~CCTICallLog() (defined in CCTICallLog) | CCTICallLog | [virtual]
~CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
~CCTIObject() (defined in CCTIObject) | CCTIObject | [virtual]
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]


Salesforce.com CTI Integration: CCTICheckbox Class Reference

CCTICheckbox Class Reference

#include <CTICheckbox.h>

Inheritance diagram for CCTICheckbox:

CCTIIdLabelObject CCTIObject CCriticalSection ILockable List of all members.

Public Member Functions

CCTICheckbox (std::wstring sId, std::wstring sLabel=L"")
virtual _bstr_t | GetTag ()
virtual void | SetChecked (bool bChecked)
virtual bool | GetChecked ()

Protected Attributes

bool | m_bChecked

Detailed Description

Version:
1.0
This class represents a checkbox in the Salesforce.com CTI user interface.

Member Function Documentation

virtual _bstr_t CCTICheckbox::GetTag ( ) [inline, virtual]

Gets the XML tag associated with this object.

Returns:
The XML tag associated with this object.

Reimplemented from CCTIObject.


Salesforce.com CTI Integration: Member List

CCTICheckbox Member List

This is the complete list of members for CCTICheckbox, including all inherited members.

AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement) | CCTIObject | [virtual]
AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild) | CCTIObject | [virtual]
AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CCriticalSection() | CCriticalSection |
CCTICheckbox(std::wstring sId, std::wstring sLabel=L"") (defined in CCTICheckbox) | CCTICheckbox |
CCTICheckbox(void) (defined in CCTICheckbox) | CCTICheckbox |
CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIIdLabelObject(std::wstring sId, std::wstring sLabel=L"") (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIObject() (defined in CCTIObject) | CCTIObject |
Enter() const | CCriticalSection | [virtual]
GetAttribute(std::wstring sName) | CCTIObject | [virtual]
GetChecked() (defined in CCTICheckbox) | CCTICheckbox | [inline, virtual]
GetId(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
GetLabel(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
GetTag() | CCTICheckbox | [inline, virtual]
GetVisible() | CCTIObject | [virtual]
Leave() const | CCriticalSection | [virtual]
m_bChecked (defined in CCTICheckbox) | CCTICheckbox | [protected]
m_bVisible | CCTIObject | [protected]
m_CS | CCriticalSection | [protected]
m_mapAttributes | CCTIObject | [protected]
RemoveAttribute(std::wstring sName) | CCTIObject | [virtual]
SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, std::wstring sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, const wchar_t *sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, bool bValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, int nValue) | CCTIObject | [virtual]
SetChecked(bool bChecked) (defined in CCTICheckbox) | CCTICheckbox | [inline, virtual]
SetId(std::wstring sId) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetLabel(std::wstring sLabel) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetVisible(bool bVisible) | CCTIObject | [virtual]
~CCriticalSection() | CCriticalSection |
~CCTICheckbox(void) (defined in CCTICheckbox) | CCTICheckbox | [virtual]
~CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
~CCTIObject() (defined in CCTIObject) | CCTIObject | [virtual]
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CCTIDialpad Class Reference

CCTIDialpad Class Reference

#include <CTIDialpad.h>

Inheritance diagram for CCTIDialpad:

CCTIObject CCriticalSection ILockable List of all members.

Public Member Functions

virtual void | SetType (int nDialpadType)
virtual int | GetType ()
virtual void | SetAllowOneStep (bool bAllowOneStep)
virtual bool | GetAllowOneStep ()
virtual void | SetNumber (std::wstring sNumber)
virtual std::wstring | GetNumber ()
virtual _bstr_t | GetTag ()

Protected Attributes

int | m_nDialpadType
bool | m_bAllowOneStep

Detailed Description

Version:
1.0
This class represents a dialpad (a visual element through which a user can dial a number or transfer or conference a call) in the Salesforce.com CTI user interface.

Member Function Documentation

virtual std::wstring CCTIDialpad::GetNumber ( ) [inline, virtual]

Gets the number that is shown in this dialpad's edit box.

virtual _bstr_t CCTIDialpad::GetTag ( ) [inline, virtual]

Gets the XML tag associated with this object.

Returns:
The XML tag associated with this object.

Reimplemented from CCTIObject.

virtual void CCTIDialpad::SetNumber ( std::wstring sNumber ) [inline, virtual]

Sets the number that is shown in this dialpad's edit box.

Parameters:
sNumber The number.

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

CCTIDialpad Member List

This is the complete list of members for CCTIDialpad, including all inherited members.

AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement) | CCTIObject | [virtual]
AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild) | CCTIObject | [virtual]
AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CCriticalSection() | CCriticalSection |
CCTIDialpad(void) (defined in CCTIDialpad) | CCTIDialpad |
CCTIObject() (defined in CCTIObject) | CCTIObject |
Enter() const | CCriticalSection | [virtual]
GetAllowOneStep() (defined in CCTIDialpad) | CCTIDialpad | [inline, virtual]
GetAttribute(std::wstring sName) | CCTIObject | [virtual]
GetNumber() | CCTIDialpad | [inline, virtual]
GetTag() | CCTIDialpad | [inline, virtual]
GetType() (defined in CCTIDialpad) | CCTIDialpad | [inline, virtual]
GetVisible() | CCTIObject | [virtual]
Leave() const | CCriticalSection | [virtual]
m_bAllowOneStep (defined in CCTIDialpad) | CCTIDialpad | [protected]
m_bVisible | CCTIObject | [protected]
m_CS | CCriticalSection | [protected]
m_mapAttributes | CCTIObject | [protected]
m_nDialpadType (defined in CCTIDialpad) | CCTIDialpad | [protected]
RemoveAttribute(std::wstring sName) | CCTIObject | [virtual]
SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc) | CCTIObject | [virtual]
SetAllowOneStep(bool bAllowOneStep) (defined in CCTIDialpad) | CCTIDialpad | [inline, virtual]
SetAttribute(std::wstring sName, std::wstring sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, const wchar_t *sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, bool bValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, int nValue) | CCTIObject | [virtual]
SetNumber(std::wstring sNumber) | CCTIDialpad | [inline, virtual]
SetType(int nDialpadType) (defined in CCTIDialpad) | CCTIDialpad | [virtual]
SetVisible(bool bVisible) | CCTIObject | [virtual]
~CCriticalSection() | CCriticalSection |
~CCTIDialpad(void) (defined in CCTIDialpad) | CCTIDialpad | [virtual]
~CCTIObject() (defined in CCTIObject) | CCTIObject | [virtual]
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CCTIEditBox Class Reference

CCTIEditBox Class Reference

#include <CTIEditBox.h>

Inheritance diagram for CCTIEditBox:

CCTIValueObject CCTIIdLabelObject CCTIObject CCriticalSection ILockable List of all members.

Public Member Functions

CCTIEditBox (std::wstring sId, std::wstring sLabel=L"")
virtual _bstr_t | GetTag ()
virtual void | SetPassword (bool bPassword)
virtual bool | GetPassword ()

Protected Attributes

bool | m_bPassword

Detailed Description

Version:
1.0
This class represents an edit box in the Salesforce.com CTI user interface.

Member Function Documentation

virtual bool CCTIEditBox::GetPassword ( ) [inline, virtual]

Gets the PASSWORD attribute of this edit box.

virtual _bstr_t CCTIEditBox::GetTag ( ) [inline, virtual]

Gets the XML tag associated with this object.

Returns:
The XML tag associated with this object.

Reimplemented from CCTIObject.

virtual void CCTIEditBox::SetPassword ( bool bPassword ) [inline, virtual]

Sets the PASSWORD attribute of this edit box. If the PASSWORD attribute is set to KEY_TRUE then the edit box will render itself as a password input, masking characters as they are entered.

Parameters:
bPassword The value to set the PASSWORD attribute to.

Member Data Documentation

bool CCTIEditBox::m_bPassword [protected]

The current state of the PASSWORD attribute.

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

CCTIEditBox Member List

This is the complete list of members for CCTIEditBox, including all inherited members.

AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement) | CCTIObject | [virtual]
AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild) | CCTIObject | [virtual]
AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CCriticalSection() | CCriticalSection |
CCTIEditBox(std::wstring sId, std::wstring sLabel=L"") (defined in CCTIEditBox) | CCTIEditBox |
CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIIdLabelObject(std::wstring sId, std::wstring sLabel=L"") (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIObject() (defined in CCTIObject) | CCTIObject |
CCTIValueObject(std::wstring sId, std::wstring sLabel=L"") (defined in CCTIValueObject) | CCTIValueObject |
Enter() const | CCriticalSection | [virtual]
GetAttribute(std::wstring sName) | CCTIObject | [virtual]
GetId(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
GetLabel(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
GetPassword() | CCTIEditBox | [inline, virtual]
GetTag() | CCTIEditBox | [inline, virtual]
GetValue() | CCTIValueObject | [inline, virtual]
GetVisible() | CCTIObject | [virtual]
Leave() const | CCriticalSection | [virtual]
m_bPassword | CCTIEditBox | [protected]
m_bVisible | CCTIObject | [protected]
m_CS | CCriticalSection | [protected]
m_mapAttributes | CCTIObject | [protected]
PopulateValueFromMap(PARAM_MAP &mapValues) | CCTIValueObject | [virtual]
RemoveAttribute(std::wstring sName) | CCTIObject | [virtual]
SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, std::wstring sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, const wchar_t *sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, bool bValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, int nValue) | CCTIObject | [virtual]
SetId(std::wstring sId) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetLabel(std::wstring sLabel) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetPassword(bool bPassword) | CCTIEditBox | [inline, virtual]
SetValue(std::wstring sValue) | CCTIValueObject | [inline, virtual]
SetVisible(bool bVisible) | CCTIObject | [virtual]
~CCriticalSection() | CCriticalSection |
~CCTIEditBox(void) (defined in CCTIEditBox) | CCTIEditBox | [virtual]
~CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
~CCTIObject() (defined in CCTIObject) | CCTIObject | [virtual]
~CCTIValueObject(void) (defined in CCTIValueObject) | CCTIValueObject |
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CCTIField Class Reference

CCTIField Class Reference

#include <CTIField.h>

Inheritance diagram for CCTIField:

CCTIValueObject CCTIIdLabelObject CCTIObject CCriticalSection ILockable List of all members.

Public Member Functions

CCTIField (std::wstring sId, std::wstring sLabel, std::wstring sValue)
virtual _bstr_t | GetTag ()
virtual void | SetCheckbox (bool bCheckbox)

Detailed Description

Version:
1.0
This class represents a single field of a CTIRelatedObject in the Salesforce.com CTI user interface.

Member Function Documentation

virtual _bstr_t CCTIField::GetTag ( ) [inline, virtual]

Gets the XML tag associated with this object.

Returns:
The XML tag associated with this object.

Reimplemented from CCTIObject.

virtual void CCTIField::SetCheckbox ( bool bCheckbox ) [inline, virtual]

Sets whether this field should be rendered as a checkbox. If this is set to true, the field will be rendered as a checked checkbox if the value is the string "true", an an unchecked checkbox otherwise.

Parameters:
bCheckbox True if this field should be rendered as a checkbox.

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

CCTIField Member List

This is the complete list of members for CCTIField, including all inherited members.

AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement) | CCTIObject | [virtual]
AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild) | CCTIObject | [virtual]
AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CCriticalSection() | CCriticalSection |
CCTIField(std::wstring sId, std::wstring sLabel, std::wstring sValue) (defined in CCTIField) | CCTIField |
CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIIdLabelObject(std::wstring sId, std::wstring sLabel=L"") (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIObject() (defined in CCTIObject) | CCTIObject |
CCTIValueObject(std::wstring sId, std::wstring sLabel=L"") (defined in CCTIValueObject) | CCTIValueObject |
Enter() const | CCriticalSection | [virtual]
GetAttribute(std::wstring sName) | CCTIObject | [virtual]
GetId(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
GetLabel(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
GetTag() | CCTIField | [inline, virtual]
GetValue() | CCTIValueObject | [inline, virtual]
GetVisible() | CCTIObject | [virtual]
Leave() const | CCriticalSection | [virtual]
m_bVisible | CCTIObject | [protected]
m_CS | CCriticalSection | [protected]
m_mapAttributes | CCTIObject | [protected]
PopulateValueFromMap(PARAM_MAP &mapValues) | CCTIValueObject | [virtual]
RemoveAttribute(std::wstring sName) | CCTIObject | [virtual]
SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, std::wstring sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, const wchar_t *sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, bool bValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, int nValue) | CCTIObject | [virtual]
SetCheckbox(bool bCheckbox) | CCTIField | [inline, virtual]
SetId(std::wstring sId) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetLabel(std::wstring sLabel) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetValue(std::wstring sValue) | CCTIValueObject | [inline, virtual]
SetVisible(bool bVisible) | CCTIObject | [virtual]
~CCriticalSection() | CCriticalSection |
~CCTIField(void) (defined in CCTIField) | CCTIField | [virtual]
~CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
~CCTIObject() (defined in CCTIObject) | CCTIObject | [virtual]
~CCTIValueObject(void) (defined in CCTIValueObject) | CCTIValueObject |
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CCTIForm Class Reference

CCTIForm Class Reference

#include <CTIForm.h>

Inheritance diagram for CCTIForm:

CCTIObject CCriticalSection ILockable List of all members.

Public Member Functions

MSXML2::IXMLDOMDocumentFragmentPtr | SerializeToXML (MSXML2::IXMLDOMDocumentPtr pXMLDoc)
virtual void | AddChild (CCTIIdLabelObject *pChild)
virtual _bstr_t | GetTag ()
virtual CCTIStatic * | AddStatic (std::wstring sId, std::wstring sLabel=L"")
virtual CCTIInfoField * | AddInfoField (std::wstring sId, std::wstring sLabel=L"", std::wstring sValue=L"")
virtual CCTIEditBox * | AddEditBox (std::wstring sId, std::wstring sLabel=L"", std::wstring sValue=L"")
virtual CCTICheckbox * | AddCheckbox (std::wstring sId, std::wstring sLabel=L"", bool bChecked=false)
virtual CCTIButton * | AddButton (std::wstring sId, std::wstring sLabel=L"")
virtual void | PopulateFormData (PARAM_MAP &mapFormData)
virtual CCTIIdLabelObject * | GetChildById (std::wstring &sId)

Protected Attributes

IdLabelObjectList | m_listChildren

Detailed Description

This class represents a CTIForm object, which contains a set of logically related children.
Version:
1.0
This class represents a CTIForm object, which contains a set of logically related children. These children can be combo boxes, edit boxes, checkboxes, buttons, etc. Ultimately, when this form is rendered in the context of the Salesforce.com page, it will behave such that when a user presses a button, the values of all the other elements of the form will be sent along with it.

Member Function Documentation

CCTIButton * CCTIForm::AddButton | ( | std::wstring | sId,
 |  | std::wstring | sLabel = L""
 | ) | [virtual]

Creates a new button and adds it as a child of this form.

Parameters:
sId | The ID of the button.
sLabel | (optional) The label of the button in case its ID cannot be translated to a string.
Returns:
The button object that was created.

CCTICheckbox * CCTIForm::AddCheckbox | ( | std::wstring | sId,
 |  | std::wstring | sLabel = L"",
 |  | bool | bChecked = false
 | ) | [virtual]

Creates a new checkbox and adds it as a child of this form.

Parameters:
sId | The ID of the checkbox.
sLabel | (optional) The label of the checkbox in case its ID cannot be translated to a string.
bChecked | (optional) The checked state of the checkbox. Defaults to false.
Returns:
The checkbox object that was created.

void CCTIForm::AddChild ( CCTIIdLabelObject * pChild ) [virtual]

Adds a child CTIObject to this form. Bear in mind that the children of the form will ultimately be serialized in exactly the order in which they were added.

Parameters:
pChild The child object to add to this form.

CCTIEditBox * CCTIForm::AddEditBox | ( | std::wstring | sId,
 |  | std::wstring | sLabel = L"",
 |  | std::wstring | sValue = L""
 | ) | [virtual]

Creates a new edit box and adds it as a child of this form.

Parameters:
sId | The ID of the edit box.
sLabel | (optional) The label of the edit box in case its ID cannot be translated to a string.
sValue | (optional) The initial value displayed in the edit box.
Returns:
The edit box object that was created.

CCTIInfoField * CCTIForm::AddInfoField | ( | std::wstring | sId,
 |  | std::wstring | sLabel = L"",
 |  | std::wstring | sValue = L""
 | ) | [virtual]

Creates a new info field and adds it as a child of this form.

Parameters:
sId | The ID of the info field.
sLabel | (optional) The label of the info field in case its ID cannot be translated to a string.
sValue | (optional) The initial value displayed in the info field.
Returns:
The info field object that was created.

CCTIStatic * CCTIForm::AddStatic | ( | std::wstring | sId,
 |  | std::wstring | sLabel = L""
 | ) | [virtual]

Creates a new static text object and adds it as a child of this form.

Parameters:
sId | The ID of the static.
sLabel | (optional) The label of the static in case its ID cannot be translated to a string.
Returns:
The static object that was created.

CCTIIdLabelObject * CCTIForm::GetChildById ( std::wstring & sId ) [virtual]

Gets the child object of this form corresponding to the input ID.

Parameters:
sId The id of the child object to find.
Returns:
The child object corresponding to the input ID, or NULL if none is found.

virtual _bstr_t CCTIForm::GetTag ( ) [inline, virtual]

Gets the XML tag associated with this object.

Returns:
The XML tag associated with this object.

Reimplemented from CCTIObject.

void CCTIForm::PopulateFormData ( PARAM_MAP & mapFormData ) [virtual]

Populates the data for the children of this form. All children should have first been added to this form; items in the map with IDs that don't refer to children of this form will be ignored (although a TRACE message will be generated). The input map should be of the form:

key = object ID value = object value

So, for instance, if you want the edit box called KEY_PERIPHERAL_ID to contain the value KEY_1000, then mapFormData[KEY_PERIPHERAL_ID] should be set to KEY_1000.

The use of this method differs a bit depending on the

Any IDs in the input map that are not actually children of this form will be ignored.

Parameters:
mapFormData A map containing IDs of the pertinent objects as keys and values for those objects as values.

MSXML2::IXMLDOMDocumentFragmentPtr CCTIForm::SerializeToXML ( MSXML2::IXMLDOMDocumentPtr pXMLDoc ) [virtual]

Serializes this form and all its children to XML. This form's children will be serialized in exactly the order in which they were added.

Parameters:
pXMLDoc The parent XML DOM document in whose context this is being serialized.
Returns:
A document fragment containing this form and its children.

Reimplemented from CCTIObject.

Member Data Documentation

IdLabelObjectList CCTIForm::m_listChildren [protected]

A list of the child objects.

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

CCTIForm Member List

This is the complete list of members for CCTIForm, including all inherited members.

AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement) | CCTIObject | [virtual]
AddButton(std::wstring sId, std::wstring sLabel=L"") | CCTIForm | [virtual]
AddCheckbox(std::wstring sId, std::wstring sLabel=L"", bool bChecked=false) | CCTIForm | [virtual]
AddChild(CCTIIdLabelObject *pChild) | CCTIForm | [virtual]
AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild) | CCTIObject | [virtual]
AddEditBox(std::wstring sId, std::wstring sLabel=L"", std::wstring sValue=L"") | CCTIForm | [virtual]
AddInfoField(std::wstring sId, std::wstring sLabel=L"", std::wstring sValue=L"") | CCTIForm | [virtual]
AddStatic(std::wstring sId, std::wstring sLabel=L"") | CCTIForm | [virtual]
AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CCriticalSection() | CCriticalSection |
CCTIForm(void) (defined in CCTIForm) | CCTIForm |
CCTIObject() (defined in CCTIObject) | CCTIObject |
Enter() const | CCriticalSection | [virtual]
GetAttribute(std::wstring sName) | CCTIObject | [virtual]
GetChildById(std::wstring &sId) | CCTIForm | [virtual]
GetTag() | CCTIForm | [inline, virtual]
GetVisible() | CCTIObject | [virtual]
Leave() const | CCriticalSection | [virtual]
m_bVisible | CCTIObject | [protected]
m_CS | CCriticalSection | [protected]
m_listChildren | CCTIForm | [protected]
m_mapAttributes | CCTIObject | [protected]
PopulateFormData(PARAM_MAP &mapFormData) | CCTIForm | [virtual]
RemoveAttribute(std::wstring sName) | CCTIObject | [virtual]
SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc) | CCTIForm | [virtual]
SetAttribute(std::wstring sName, std::wstring sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, const wchar_t *sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, bool bValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, int nValue) | CCTIObject | [virtual]
SetVisible(bool bVisible) | CCTIObject | [virtual]
~CCriticalSection() | CCriticalSection |
~CCTIForm(void) (defined in CCTIForm) | CCTIForm | [virtual]
~CCTIObject() (defined in CCTIObject) | CCTIObject | [virtual]
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CCTIIdLabelObject Class Reference

CCTIIdLabelObject Class Reference

#include <CTIIdLabelObject.h>

Inheritance diagram for CCTIIdLabelObject:

CCTIObject CCriticalSection ILockable CCTIButton CCTICallLog CCTICheckbox CCTIProgressBar CCTIReasonCodeSet CCTIRelatedObject CCTIRelatedObjectSet CCTISelectableIdLabelObject CCTIStatic CCTITimer CCTIValueObject List of all members.

Public Member Functions

CCTIIdLabelObject (std::wstring sId, std::wstring sLabel=L"")
std::wstring | GetId (void)
virtual void | SetId (std::wstring sId)
virtual std::wstring | GetLabel (void)
virtual void | SetLabel (std::wstring sLabel)

Detailed Description

Version:
1.0
This class encapsulates a CCTIObject that contains an ID and label. It is mostly a convenience class, but it's subclassed by most of the visual elements, as most of them do indeed contain an ID and a label. At runtime, the Browser Controller will attempt to use the ID to translate any text on the visual elements to the proper language. If the BC has no mapping for the ID of that object, then it will use the label instead to show that text.

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

CCTIIdLabelObject Member List

This is the complete list of members for CCTIIdLabelObject, including all inherited members.

AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement) | CCTIObject | [virtual]
AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild) | CCTIObject | [virtual]
AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CCriticalSection() | CCriticalSection |
CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIIdLabelObject(std::wstring sId, std::wstring sLabel=L"") (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIObject() (defined in CCTIObject) | CCTIObject |
Enter() const | CCriticalSection | [virtual]
GetAttribute(std::wstring sName) | CCTIObject | [virtual]
GetId(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
GetLabel(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
GetTag() | CCTIObject | [inline, virtual]
GetVisible() | CCTIObject | [virtual]
Leave() const | CCriticalSection | [virtual]
m_bVisible | CCTIObject | [protected]
m_CS | CCriticalSection | [protected]
m_mapAttributes | CCTIObject | [protected]
RemoveAttribute(std::wstring sName) | CCTIObject | [virtual]
SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, std::wstring sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, const wchar_t *sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, bool bValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, int nValue) | CCTIObject | [virtual]
SetId(std::wstring sId) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetLabel(std::wstring sLabel) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetVisible(bool bVisible) | CCTIObject | [virtual]
~CCriticalSection() | CCriticalSection |
~CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
~CCTIObject() (defined in CCTIObject) | CCTIObject | [virtual]
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CCTILine Class Reference

CCTILine Class Reference

#include <CTILine.h>

Inheritance diagram for CCTILine:

CCTIObject CCriticalSection ILockable List of all members.

Public Member Functions

CCTILine (CCTIUserInterface *pUI, int nLineNumber, bool bFixed=true)
virtual MSXML2::IXMLDOMDocumentFragmentPtr | SerializeToXML (MSXML2::IXMLDOMDocumentPtr pXMLDoc)
virtual int | GetLineNumber ()
virtual void | SetLineNumber (int nLineNumber)
virtual void | SetState (int nLineState)
virtual int | GetState ()
virtual std::wstring | GetStringFromState (int nLineState)
virtual bool | GetFixed ()
virtual void | SetAllowAlternate (bool bAllowAlternate)
virtual bool | GetAllowAlternate ()
virtual void | SetAllowDialpad (bool bAllowDialpad)
virtual bool | GetAllowDialpad ()
virtual CCTIDialpad * | GetDialpad ()
virtual void | SetCallType (int nCallType)
virtual int | GetCallType ()
virtual void | SetCallObjectId (std::wstring sCallObjectId)
virtual std::wstring | GetCallObjectId ()
virtual void | AddDefaultButtons ()
virtual void | EnableButtons (std::list< int > &listButtonIds)
virtual void | ShowDialpad (int nDialpadType, bool bAllowOneStep=false)
virtual void | HideDialpad ()
virtual CCTIButton * | AddLongButton (int nId, std::wstring sMessage, std::wstring sColor, std::wstring sLabel=L"")
virtual CCTIButton * | AddShortButton (int nId, std::wstring sMessage, std::wstring sIconURL, std::wstring sLabel=L"")
virtual void | AddButton (int nId, CCTIButton *pButton)
virtual void | RemoveButton (int nId)
virtual void | StartCallDurationTimer ()
virtual void | StartHoldTimer ()
virtual void | EndCallDurationTimer ()
virtual void | EndHoldTimer ()
virtual void | Reset ()
virtual int | GetCallDurationSeconds ()
virtual void | ShowLineStatusBar (bool bError, std::wstring sLineStatusId, std::wstring sLineStatusLabel=L"")
virtual void | HideLineStatusBar ()
virtual void | SetLineCookie (std::wstring sKey, std::wstring sValue)
virtual std::wstring | GetLineCookie (std::wstring sKey)
virtual void | ClearLineCookie (std::wstring sKey)
virtual bool | HasLineCookie (std::wstring sKey)
virtual void | AddParty (CCTIParty *pParty, int nLocation=0)
virtual void | RemoveParty (CCTIParty *pParty)
virtual void | RemovePartyByANI (std::wstring &sANI)
virtual void | RemoveAllParties ()
virtual CCTIParty * | GetFirstParty ()
CCTIParty * | GetParty (int nParty)
CCTIParty * | GetPartyByANI (std::wstring sANI)
virtual int | GetNumberOfParties ()

Protected Attributes

bool | m_bFixed
int | m_nLineNumber
bool | m_bAllowAlternate
bool | m_bAllowDialpad
int | m_nLineState
int | m_nCallType
std::wstring | m_sCallObjectId
PartyList | m_listParties
CCTITimer * m_pCallDuration
CCTITimer * m_pHoldDuration
ButtonMap | m_mapButtons
CCTIDialpad m_dialpad
CCTIStatic | m_lineStatus
std::wstring | m_sANI
PARAM_MAP | m_mapLineCookies
CCTIUserInterface * m_pUI

Detailed Description

Version:
1.0
This class represents a single line and all its children in the Salesforce.com CTI user interface.

Constructor & Destructor Documentation

CCTILine::CCTILine | ( | CCTIUserInterface * | pUI,
 |  | int | nLineNumber,
 |  | bool | bFixed = true
 | ) |

Creates a representation of a line with the specified line number.

Parameters:
pUI | The CCTIUserInterface object that owns this line.
nLineNumber | The line number of this line.
bFixed | True if this line is a fixed line; false if it is an virtual line.

Member Function Documentation

void CCTILine::AddButton | ( | int | nId,
 |  | CCTIButton * | pButton
 | ) | [virtual]

Adds a button object to this line. Note that when this method is called, CCTILine will take ownership of the CCTIButton object and take responsibility for destroying it; therefore, the caller should never destroy the CCTIButton object passed in here.

Parameters:
nId | A numeric ID that defines how this adapter refers to the buttons, and also in what position the button will be displayed (so if you specify 15, it'll display between "Answer" and "Hang up", which are 10 and 30 respectively.
pButton | The button object of the button to add.

void CCTILine::AddDefaultButtons ( ) [virtual]

Adds the default buttons to this line. Note that all buttons are invisible until a call to EnableButtons is made to make them visible.

CCTIButton * CCTILine::AddLongButton | ( | int | nId,
 |  | std::wstring | sMessage,
 |  | std::wstring | sColor,
 |  | std::wstring | sLabel = L""
 | ) | [virtual]

This method adds a long-style button (which is invisible until a call to EnableButtons makes it visible) to this line.

Parameters:
nId | A numeric ID that defines how this adapter refers to the buttons, and also in what position the button will be displayed (so if you specify 15, it'll display between "Answer" and "Hang up", which are 10 and 30 respectively.
sMessage | The string ID that defines the specific message that is sent when this button is clicked. There should be a corresponding handler for this command defined in your implementation of CCTIUserInterface::UIHandleMessage.
sColor | (optional) This button's color. Should be a 6-letter hex string.
sLabel | (optional) This button's label. Should be specified if the label isn't covered by Salesforce.com.
Returns:
The CCTIButton object that this method created. Callers can use this return value to further customize the button.

void CCTILine::AddParty | ( | CCTIParty * | pParty,
 |  | int | nLocation = 0
 | ) | [virtual]

Adds a party to this line.

Parameters:
pParty | The party to add to this line
nLocation | (optional) The 1-indexed location that this party should occupy in the line. If unspecified, the party becomes the last party on the line.

CCTIButton * CCTILine::AddShortButton | ( | int | nId,
 |  | std::wstring | sMessage,
 |  | std::wstring | sIconURL,
 |  | std::wstring | sLabel = L""
 | ) | [virtual]

This method adds a short-style button (which is invisible until a call to EnableButtons makes it visible) to this line.

Parameters:
nId | A numeric ID that defines how this adapter refers to the buttons, and also in what position the button will be displayed (so if you specify 15, it'll display between "Answer" and "Hang up", which are 10 and 30 respectively.
sMessage | The string ID that defines the specific message that is sent when this button is clicked. There should be a corresponding handler for this command defined in your implementation of CCTIUserInterface::UIHandleMessage.
sIconURL | This button's icon. Should be an URL to a valid 51x17 (WxH) image, either relative to Salesforce.com (as in /img/btn_hold.gif) or absolute.
sLabel | (optional) This button's label. Should be specified if the label isn't covered by salesforce.com.
Returns:
The CCTIButton object that this method created. Callers can use this return value to further customize the button.

virtual void CCTILine::ClearLineCookie ( std::wstring sKey ) [inline, virtual]

Clears a line cookie.

Parameters:
sKey The key of the line cookie to clear.

void CCTILine::EnableButtons ( std::list< int > & listButtonIds ) [virtual]

Makes all buttons with IDs in the input list visible, and makes any buttons not in the input list invisible.

Parameters:
listButtonIds The list of buttons to make visible.

void CCTILine::EndCallDurationTimer ( ) [virtual]

Ends the call duration timer and hides it.

void CCTILine::EndHoldTimer ( ) [virtual]

Ends the hold time duration timer and hides it.

virtual bool CCTILine::GetAllowAlternate ( ) [inline, virtual]

Gets whether this line's CallAlternate link is available.

Returns:
True if this line's CallAlternate link is available.

virtual bool CCTILine::GetAllowDialpad ( ) [inline, virtual]

Gets whether this line's dialpad link is available.

Returns:
True if this line's dialpad link is available.

int CCTILine::GetCallDurationSeconds ( ) [virtual]

Returns the total number of seconds that have elapsed during this call, or 0 if no call is currently active.

Returns:
The total number of seconds that have elapsed during this call, or 0 if no call is currently active.

virtual std::wstring CCTILine::GetCallObjectId ( ) [inline, virtual]

Gets this line's current call object ID.

virtual int CCTILine::GetCallType ( ) [inline, virtual]

Gets this line's current call type.

Returns:
One of CALLTYPE_INTERNAL, CALLTYPE_INBOUND, or CALLTYPE_OUTBOUND.

virtual CCTIDialpad* CCTILine::GetDialpad ( ) [inline, virtual]

Gets this line's dialpad object.

Returns:
This line's dialpad.

CCTIParty * CCTILine::GetFirstParty ( ) [virtual]

Gets the first party on this line.

Returns:
The first party on this line, or NULL if this line contains no parties.

virtual bool CCTILine::GetFixed ( ) [inline, virtual]

Returns true if this is a fixed line, false if this is an virtual line.

Returns:
True if this is a fixed line, false if this is an virtual line.

virtual std::wstring CCTILine::GetLineCookie ( std::wstring sKey ) [inline, virtual]

Gets the value of a line cookie, which is an arbitrary piece of data that developers can set on lines for their own use. Line cookies do not get saved to the CTI system or Salesforce.com, but they will exist for the life of the line.

Parameters:
sKey The key of the cookie to get.
Returns:
The value of the cookie that's associated with the input key, or the empty string if no value has been set for that key.

virtual int CCTILine::GetLineNumber ( ) [inline, virtual]

Gets this line's line number.

Returns:
This line's line number.

virtual int CCTILine::GetNumberOfParties ( ) [inline, virtual]

Gets the number of parties currently associated with this line.

Returns:
The number of parties currently associated with this line.

CCTIParty * CCTILine::GetParty ( int nParty )

Gets the party with the index nParty from this line.

Parameters:
nParty The 1-indexed number of the party to retrieve.
Returns:
The party at that index, or NULL if there is none there.

CCTIParty * CCTILine::GetPartyByANI ( std::wstring sANI )

Gets the party specified by the given ANI.

Parameters:
sANI The ANI associated with the party to retrieve.
Returns:
The party associated with that ANI, or NULL if there is none.

int CCTILine::GetState ( ) [virtual]

Gets the state of this line.

Returns:
The state of this line.

std::wstring CCTILine::GetStringFromState ( int nLineState ) [virtual]

Gets a line state ID string (as used in the XML serialization of this line) from the input numeric state.

Parameters:
nLineState The state for which to get the ID string. Should be one of LINE_OPEN, LINE_RINGING, LINE_ON_CALL, or LINE_DIALING.
Returns:
A line state ID string corresponding to the input numeric line state.

virtual bool CCTILine::HasLineCookie ( std::wstring sKey ) [inline, virtual]

Indicates whether this line contains the cookie with the specified key.

Parameters:
sKey The key of the line cookie to clear.
Returns:
True if this line contains the cookie with the specified key, false otherwise.

void CCTILine::HideDialpad ( ) [virtual]

Hides the dialpad for this line.

void CCTILine::HideLineStatusBar ( ) [virtual]

Clears the status bar for the line.

void CCTILine::RemoveAllParties ( ) [virtual]

Removes all the parties from this line.

void CCTILine::RemoveButton ( int nId ) [virtual]

Removes a button from this line.

Parameters:
nId The numeric ID of the button to remove.

void CCTILine::RemoveParty ( CCTIParty * pParty ) [virtual]

Removes a party from this line.

Parameters:
pParty The party to remove.

void CCTILine::RemovePartyByANI ( std::wstring & sANI ) [virtual]

Removes the party associated with the specified ANI, if one exists, from this line.

Parameters:
sANI The ANI associated with the party to remove.

void CCTILine::Reset ( ) [virtual]

Resets the line to an open state with no active call.

MSXML2::IXMLDOMDocumentFragmentPtr CCTILine::SerializeToXML ( MSXML2::IXMLDOMDocumentPtr pXMLDoc ) [virtual]

Serializes this object to XML.

Parameters:
pXMLDoc The document object (used to create all elements, attributes, etc.).
Returns:
A document fragment that represents this object serialized to XML.

Reimplemented from CCTIObject.

virtual void CCTILine::SetAllowAlternate ( bool bAllowAlternate ) [inline, virtual]

Sets whether this line's CallAlternate link is available.

Parameters:
bAllowAlternate Should be true if this line's CallAlternate link is available, false if not.

virtual void CCTILine::SetAllowDialpad ( bool bAllowDialpad ) [inline, virtual]

Sets whether this line's dialpad link is available. If the dialpad becomes unavailable and is currently shown, this method will automatically hide it.

Parameters:
bAllowDialpad Should be true if this line's dialpad link is available, false if not.

void CCTILine::SetCallObjectId ( std::wstring sCallObjectId ) [virtual]

Sets this line's call object ID. This should be the unique ID that the CTI server assigns to the call.

Parameters:
sCallObjectId The unique ID that the CTI server assigns to the active call.

virtual void CCTILine::SetCallType ( int nCallType ) [inline, virtual]

Sets this line's current call type. Should be one of CALLTYPE_INTERNAL, CALLTYPE_INBOUND, or CALLTYPE_OUTBOUND.

Parameters:
nCallType Should be one of CALLTYPE_INTERNAL, CALLTYPE_INBOUND, or CALLTYPE_OUTBOUND.

virtual void CCTILine::SetLineCookie | ( | std::wstring | sKey,
 |  | std::wstring | sValue
 | ) | [inline, virtual]

Sets a line cookie, which is an arbitrary piece of data that developers can set on lines for their own use. Line cookies do not get saved to the CTI system or Salesforce.com, but they will exist for the life of the line.

Parameters:
sKey | The key of the cookie to set.
sValue | The value of the cookie to set.

void CCTILine::SetLineNumber ( int nLineNumber ) [virtual]

Sets this line's line number.

Returns:
This line's line number.

void CCTILine::SetState ( int nLineState ) [virtual]

Sets the state of this line.

Parameters:
nLineState The state of this line. Should be one of LINE_OPEN, LINE_RINGING, LINE_ON_CALL, or LINE_DIALING.

void CCTILine::ShowDialpad | ( | int | nDialpadType,
 |  | bool | bAllowOneStep = false
 | ) | [virtual]

Shows the dialpad for this line.

Parameters:
nDialpadType | Must be one of DIALPAD_DIAL, DIALPAD_TRANSFER, or DIALPAD_CONFERENCE.
bAllowOneStep | True to allow one-step transfer or conference. Has no effect if type is DIALPAD_DIAL.

void CCTILine::ShowLineStatusBar | ( | bool | bError,
 |  | std::wstring | sLineStatusId,
 |  | std::wstring | sLineStatusLabel = L""
 | ) | [virtual]

Sets the text of the status bar for the line and makes it visible.

Parameters:
bError | True if the status text should be shown as an error, false otherwise.
sLineStatusId | The ID of the status text for the line.
sLineStatusLabel | The label of the status text for the line. Should be specified if Salesforce.com has no translation for the input ID.

void CCTILine::StartCallDurationTimer ( ) [virtual]

Starts the call duration timer and makes it visible.

void CCTILine::StartHoldTimer ( ) [virtual]

Starts the hold time duration timer makes it visible.

Member Data Documentation

bool CCTILine::m_bAllowAlternate [protected]

Flag indicating whether this line's info area will show a link allowing it to be alternated to.

bool CCTILine::m_bAllowDialpad [protected]

Flag indicating whether this line's info area will show a link allowing a dialpad to be shown.

bool CCTILine::m_bFixed [protected]

Flag indicating whether this line is fixed or virtual.

CCTIDialpad CCTILine::m_dialpad [protected]

This line's dialpad object.

PartyList CCTILine::m_listParties [protected]

A list of parties currently participating in this call.

ButtonMap CCTILine::m_mapButtons [protected]

A map of this line's buttons.

PARAM_MAP CCTILine::m_mapLineCookies [protected]

A map that holds this line's "cookies" -- arbitrary pieces of data which developers can set on lines which do not get saved to the CTI system or Salesforce.com.

int CCTILine::m_nCallType [protected]

This line's current call type. Should be one of CALLTYPE_INTERNAL, CALLTYPE_INBOUND, or CALLTYPE_OUTBOUND.

int CCTILine::m_nLineNumber [protected]

This line's line number.

int CCTILine::m_nLineState [protected]

This line's current state. Should be one of LINE_OPEN, LINE_RINGING, LINE_ON_CALL, or LINE_DIALING.

CCTITimer* CCTILine::m_pCallDuration [protected]

The call duration timer.

CCTITimer* CCTILine::m_pHoldDuration [protected]

The hold time duration timer.

CCTIUserInterface* CCTILine::m_pUI [protected]

The CCTIUserInterface object that owns this line.

std::wstring CCTILine::m_sANI [protected]

This line's current ANI (should be empty if there's no call on the line).

std::wstring CCTILine::m_sCallObjectId [protected]

This line's current call object ID.

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

CCTILine Member List

This is the complete list of members for CCTILine, including all inherited members.

AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement) | CCTIObject | [virtual]
AddButton(int nId, CCTIButton *pButton) | CCTILine | [virtual]
AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild) | CCTIObject | [virtual]
AddDefaultButtons() | CCTILine | [virtual]
AddLongButton(int nId, std::wstring sMessage, std::wstring sColor, std::wstring sLabel=L"") | CCTILine | [virtual]
AddParty(CCTIParty *pParty, int nLocation=0) | CCTILine | [virtual]
AddShortButton(int nId, std::wstring sMessage, std::wstring sIconURL, std::wstring sLabel=L"") | CCTILine | [virtual]
AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CCriticalSection() | CCriticalSection |
CCTILine(CCTIUserInterface *pUI, int nLineNumber, bool bFixed=true) | CCTILine |
CCTIObject() (defined in CCTIObject) | CCTIObject |
ClearLineCookie(std::wstring sKey) | CCTILine | [inline, virtual]
EnableButtons(std::list< int > &listButtonIds) | CCTILine | [virtual]
EndCallDurationTimer() | CCTILine | [virtual]
EndHoldTimer() | CCTILine | [virtual]
Enter() const | CCriticalSection | [virtual]
GetAllowAlternate() | CCTILine | [inline, virtual]
GetAllowDialpad() | CCTILine | [inline, virtual]
GetAttribute(std::wstring sName) | CCTIObject | [virtual]
GetCallDurationSeconds() | CCTILine | [virtual]
GetCallObjectId() | CCTILine | [inline, virtual]
GetCallType() | CCTILine | [inline, virtual]
GetDialpad() | CCTILine | [inline, virtual]
GetFirstParty() | CCTILine | [virtual]
GetFixed() | CCTILine | [inline, virtual]
GetLineCookie(std::wstring sKey) | CCTILine | [inline, virtual]
GetLineNumber() | CCTILine | [inline, virtual]
GetNumberOfParties() | CCTILine | [inline, virtual]
GetParty(int nParty) | CCTILine |
GetPartyByANI(std::wstring sANI) | CCTILine |
GetState() | CCTILine | [virtual]
GetStringFromState(int nLineState) | CCTILine | [virtual]
GetTag() | CCTIObject | [inline, virtual]
GetVisible() | CCTIObject | [virtual]
HasLineCookie(std::wstring sKey) | CCTILine | [inline, virtual]
HideDialpad() | CCTILine | [virtual]
HideLineStatusBar() | CCTILine | [virtual]
Leave() const | CCriticalSection | [virtual]
m_bAllowAlternate | CCTILine | [protected]
m_bAllowDialpad | CCTILine | [protected]
m_bFixed | CCTILine | [protected]
m_bVisible | CCTIObject | [protected]
m_CS | CCriticalSection | [protected]
m_dialpad | CCTILine | [protected]
m_lineStatus (defined in CCTILine) | CCTILine | [protected]
m_listParties | CCTILine | [protected]
m_mapAttributes | CCTIObject | [protected]
m_mapButtons | CCTILine | [protected]
m_mapLineCookies | CCTILine | [protected]
m_nCallType | CCTILine | [protected]
m_nLineNumber | CCTILine | [protected]
m_nLineState | CCTILine | [protected]
m_pCallDuration | CCTILine | [protected]
m_pHoldDuration | CCTILine | [protected]
m_pUI | CCTILine | [protected]
m_sANI | CCTILine | [protected]
m_sCallObjectId | CCTILine | [protected]
RemoveAllParties() | CCTILine | [virtual]
RemoveAttribute(std::wstring sName) | CCTIObject | [virtual]
RemoveButton(int nId) | CCTILine | [virtual]
RemoveParty(CCTIParty *pParty) | CCTILine | [virtual]
RemovePartyByANI(std::wstring &sANI) | CCTILine | [virtual]
Reset() | CCTILine | [virtual]
SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc) | CCTILine | [virtual]
SetAllowAlternate(bool bAllowAlternate) | CCTILine | [inline, virtual]
SetAllowDialpad(bool bAllowDialpad) | CCTILine | [inline, virtual]
SetAttribute(std::wstring sName, std::wstring sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, const wchar_t *sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, bool bValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, int nValue) | CCTIObject | [virtual]
SetCallObjectId(std::wstring sCallObjectId) | CCTILine | [virtual]
SetCallType(int nCallType) | CCTILine | [inline, virtual]
SetLineCookie(std::wstring sKey, std::wstring sValue) | CCTILine | [inline, virtual]
SetLineNumber(int nLineNumber) | CCTILine | [virtual]
SetState(int nLineState) | CCTILine | [virtual]
SetVisible(bool bVisible) | CCTIObject | [virtual]
ShowDialpad(int nDialpadType, bool bAllowOneStep=false) | CCTILine | [virtual]
ShowLineStatusBar(bool bError, std::wstring sLineStatusId, std::wstring sLineStatusLabel=L"") | CCTILine | [virtual]
StartCallDurationTimer() | CCTILine | [virtual]
StartHoldTimer() | CCTILine | [virtual]
~CCriticalSection() | CCriticalSection |
~CCTILine(void) (defined in CCTILine) | CCTILine | [virtual]
~CCTIObject() (defined in CCTIObject) | CCTIObject | [virtual]
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CCTILogger Class Reference

CCTILogger Class Reference

#include <CTILogger.h>

Inheritance diagram for CCTILogger:

CCriticalSection List of all members.

Static Public Member Functions

static void | CreateLogger (int nLogType)
static void | DestroyLogger ()
static void | Log (int nLogLevel, const wchar_t *sLogText, const wchar_t *sData1=L"", const wchar_t *sData2=L"", const wchar_t *sData3=L"", const wchar_t *sData4=L"")
static void | Log (int nLogLevel, const wchar_t *sLogText, long nData1, const wchar_t *sData2=L"", const wchar_t *sData3=L"")
static void | Log (int nLogLevel, const wchar_t *sLogText, long nData1, long nData2, const wchar_t *sData3=L"")
static void | Log (int nLogLevel, const wchar_t *sLogText, const wchar_t *sData1, long nData2, const wchar_t *sData3=L"")
static void | Log (int nLogLevel, const wchar_t *sLogText, const std::wstring &sData1)
static void | Log (int nLogLevel, const wchar_t *sLogText, const std::wstring &sData1, const std::wstring &sData2)
static void | Log (int nLogLevel, const wchar_t *sLogText, const std::wstring &sData1, const wchar_t *sData2)
static void | Log (int nLogLevel, const wchar_t *sLogText, const std::wstring &sData1, const std::wstring &sData2, const std::wstring &sData3)
static void | Log (int nLogLevel, const wchar_t *sLogText, const std::wstring &sData1, const std::wstring &sData2, const std::wstring &sData3, const std::wstring &sData4)
static void | Log (int nLogLevel, const wchar_t *sLogText, long nData1, const std::wstring &sData2)
static void | Log (int nLogLevel, const wchar_t *sLogText, const std::wstring &sData1, long nData2)
static std::wstring | GetLogFilePath (int nLogType)
static void | SetLogFilePaths (std::wstring sBrowserConnectorFilePath, std::wstring sCtiConnectorFilePath)
static void | SetLogLevel (int nLogLevel)
static int | GetLogLevel ()

Protected Member Functions

virtual void | WriteLogEntry (int nLogLevel, const wchar_t *sLogText,...)
CCTILogger (int nLogType)
void | LoadLogInfoFromRegistry ()
void | SaveLogInfoToRegistry ()
FILE * | GetLogFile ()
void | SetLogFiles (std::wstring &sBrowserConnectorFilePath, std::wstring &sCtiConnectorFilePath)

Static Protected Member Functions

static CCTILogger * | GetLogger ()

Protected Attributes

int | m_nLogType
int | m_nLogLevel
int | m_nMaxLogFileSize
int | m_nMaxLogFiles
std::wstring | m_sCtiConnectorFilePath
std::wstring | m_sBrowserConnectorFilePath
FILE * | m_pLogFileStream

Static Protected Attributes

static CCTILogger * | theLogger = NULL

Detailed Description

This class contains a bunch of static methods that allow us to log events to a file, classifying them by level (low, medium or high).

The "low" level should be for errors only. The "med" level is for informational messages, and the "high" level is for very granular info (like the specific XML sent back and forth in messages and UIs).

Version:
1.0

Constructor & Destructor Documentation

CCTILogger::CCTILogger ( int nLogType ) [protected]

Constructor for CCTILogger.

Parameters:
nLogType The log type. Must be one of LOGTYPE_BROWSER_CONNECTOR or LOGTYPE_CTI_CONNECTOR.

Member Function Documentation

void CCTILogger::CreateLogger ( int nLogType ) [static]

Creates a static instance of the logger.

Parameters:
nLogType The log type. Must be one of LOGTYPE_BROWSER_CONNECTOR or LOGTYPE_CTI_CONNECTOR.

void CCTILogger::DestroyLogger ( ) [static]

Destroys the static instance of the logger.

FILE * CCTILogger::GetLogFile ( ) [protected]

Gets the file to write log entries to, creating a new file if necessary.

Returns:
The file pointer to the file.

std::wstring CCTILogger::GetLogFilePath ( int nLogType ) [static]

Gets the log file path for the specified type of log.

Parameters:
nLogType The log type. Must be one of LOGTYPE_BROWSER_CONNECTOR or LOGTYPE_CTI_CONNECTOR.
Returns:
The log file path for the specified type of log.

CCTILogger * CCTILogger::GetLogger ( ) [static, protected]

Gets the one and only logger object, or NULL if none have been created.

static int CCTILogger::GetLogLevel ( ) [inline, static]

Gets the current log level.

Returns:
The current log level.

void CCTILogger::LoadLogInfoFromRegistry ( ) [protected]

Loads the log level from the Windows registry.

static void CCTILogger::Log | ( | int | nLogLevel,
 |  | const wchar_t * | sLogText,
 |  | const wchar_t * | sData1 = L"",
 |  | const wchar_t * | sData2 = L"",
 |  | const wchar_t * | sData3 = L"",
 |  | const wchar_t * | sData4 = L""
 | ) | [inline, static]

All these Log methods are to handle the various permutations of strings and numbers that might be passed in. This could have been done with a varargs method (like WriteLogEntry above), but due to the lack of type safety inherent in varargs in C++, that would be especially prone to crashes if someone passes in something (say, an std::wstring instead of a wchar_t*) that is unexpected.

void CCTILogger::SaveLogInfoToRegistry ( ) [protected]

Saves the log level to the Windows registry.

void CCTILogger::SetLogFilePaths | ( | std::wstring | sBrowserConnectorFilePath,
 |  | std::wstring | sCtiConnectorFilePath
 | ) | [static]

Sets the log file path for the two possible types of log.

Parameters:
sBrowserConnectorFilePath | The log file path for a browser connector log.
sCtiConnectorFilePath | The log file path for a CTI connector log.

void CCTILogger::SetLogFiles | ( | std::wstring & | sBrowserConnectorFilePath,
 |  | std::wstring & | sCtiConnectorFilePath
 | ) | [protected]

Sets the log file paths. This is the non-static method that is called by the static method SetLogFilePaths.

Parameters:
sBrowserConnectorFilePath | The browser connector log file path.
sCtiConnectorFilePath | The adapter log file path.

static void CCTILogger::SetLogLevel ( int nLogLevel ) [inline, static]

Sets the log level and saves it to the registry.

Parameters:
nLogLevel The log level. Must be one of LOGLEVEL_LOW, LOGLEVEL_MED, or LOGLEVEL_HIGH.

void CCTILogger::WriteLogEntry | ( | int | nLogLevel,
 |  | const wchar_t * | sLogText,
 |  |  | ...
 | ) | [protected, virtual]

Writes the log entry to the file (if necessary) and to ATLTRACE

Parameters:
nLogLevel | The current log level
sLogText | The text to log
... The VARARGS containing the printf-style log parameters that will be filled in

Member Data Documentation

int CCTILogger::m_nLogLevel [protected]

The current log level. Should be between 1 and 3.

int CCTILogger::m_nLogType [protected]

The log type. Must be one of LOGTYPE_BROWSER_CONNECTOR or LOGTYPE_CTI_CONNECTOR.

int CCTILogger::m_nMaxLogFiles [protected]

The maximum number of log files. Defaults to 10 unless otherwise set in the registry.

int CCTILogger::m_nMaxLogFileSize [protected]

The maximum log file size. Defaults to 500kb unless otherwise set in the registry.

FILE* CCTILogger::m_pLogFileStream [protected]

The log file stream.

std::wstring CCTILogger::m_sBrowserConnectorFilePath [protected]

The log file path for the browser controller.

std::wstring CCTILogger::m_sCtiConnectorFilePath [protected]

The log file path for adapters.

CCTILogger * CCTILogger::theLogger = NULL [static, protected]

The one and only logger object.

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

CCTILogger Member List

This is the complete list of members for CCTILogger, including all inherited members.

AutoLock typedef (defined in CCriticalSection) | CCriticalSection | [private]
CCriticalSection() | CCriticalSection | [private]
CCTILogger(int nLogType) | CCTILogger | [protected]
CreateLogger(int nLogType) | CCTILogger | [static]
DestroyLogger() | CCTILogger | [static]
Enter() const | CCriticalSection | [private, virtual]
GetLogFile() | CCTILogger | [protected]
GetLogFilePath(int nLogType) | CCTILogger | [static]
GetLogger() | CCTILogger | [protected, static]
GetLogLevel() | CCTILogger | [inline, static]
Leave() const | CCriticalSection | [private, virtual]
LoadLogInfoFromRegistry() | CCTILogger | [protected]
Log(int nLogLevel, const wchar_t *sLogText, const wchar_t *sData1=L"", const wchar_t *sData2=L"", const wchar_t *sData3=L"", const wchar_t *sData4=L"") | CCTILogger | [inline, static]
Log(int nLogLevel, const wchar_t *sLogText, long nData1, const wchar_t *sData2=L"", const wchar_t *sData3=L"") (defined in CCTILogger) | CCTILogger | [inline, static]
Log(int nLogLevel, const wchar_t *sLogText, long nData1, long nData2, const wchar_t *sData3=L"") (defined in CCTILogger) | CCTILogger | [inline, static]
Log(int nLogLevel, const wchar_t *sLogText, const wchar_t *sData1, long nData2, const wchar_t *sData3=L"") (defined in CCTILogger) | CCTILogger | [inline, static]
Log(int nLogLevel, const wchar_t *sLogText, const std::wstring &sData1) (defined in CCTILogger) | CCTILogger | [inline, static]
Log(int nLogLevel, const wchar_t *sLogText, const std::wstring &sData1, const std::wstring &sData2) (defined in CCTILogger) | CCTILogger | [inline, static]
Log(int nLogLevel, const wchar_t *sLogText, const std::wstring &sData1, const wchar_t *sData2) (defined in CCTILogger) | CCTILogger | [inline, static]
Log(int nLogLevel, const wchar_t *sLogText, const std::wstring &sData1, const std::wstring &sData2, const std::wstring &sData3) (defined in CCTILogger) | CCTILogger | [inline, static]
Log(int nLogLevel, const wchar_t *sLogText, const std::wstring &sData1, const std::wstring &sData2, const std::wstring &sData3, const std::wstring &sData4) (defined in CCTILogger) | CCTILogger | [inline, static]
Log(int nLogLevel, const wchar_t *sLogText, long nData1, const std::wstring &sData2) (defined in CCTILogger) | CCTILogger | [inline, static]
Log(int nLogLevel, const wchar_t *sLogText, const std::wstring &sData1, long nData2) (defined in CCTILogger) | CCTILogger | [inline, static]
m_CS | CCriticalSection | [private]
m_nLogLevel | CCTILogger | [protected]
m_nLogType | CCTILogger | [protected]
m_nMaxLogFiles | CCTILogger | [protected]
m_nMaxLogFileSize | CCTILogger | [protected]
m_pLogFileStream | CCTILogger | [protected]
m_sBrowserConnectorFilePath | CCTILogger | [protected]
m_sCtiConnectorFilePath | CCTILogger | [protected]
SaveLogInfoToRegistry() | CCTILogger | [protected]
SetLogFilePaths(std::wstring sBrowserConnectorFilePath, std::wstring sCtiConnectorFilePath) | CCTILogger | [static]
SetLogFiles(std::wstring &sBrowserConnectorFilePath, std::wstring &sCtiConnectorFilePath) | CCTILogger | [protected]
SetLogLevel(int nLogLevel) | CCTILogger | [inline, static]
theLogger | CCTILogger | [protected, static]
WriteLogEntry(int nLogLevel, const wchar_t *sLogText,...) | CCTILogger | [protected, virtual]
~CCriticalSection() | CCriticalSection | [private]
~CCTILogger(void) (defined in CCTILogger) | CCTILogger | [virtual]
~ILockable() (defined in ILockable) | ILockable | [inline, private, virtual]

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CCTILogo Class Reference

CCTILogo Class Reference

#include <CTILogo.h>

Inheritance diagram for CCTILogo:

CCTIObject CCriticalSection ILockable List of all members.

Public Member Functions

virtual _bstr_t | GetTag ()
virtual void | SetImageUrl (std::wstring sImageUrl)
virtual std::wstring | GetImageUrl ()
virtual void | SetLinkUrl (std::wstring sLinkUrl)
virtual std::wstring | GetLinkUrl ()
virtual void | SetLinkText (std::wstring sLinkText)
virtual std::wstring | GetLinkText ()
virtual void | SetWindowWidth (int nWindowWidth)
virtual int | GetWindowWidth ()
virtual void | SetWindowHeight (int nWindowHeight)
virtual int | GetWindowHeight ()

Detailed Description

Version:
1.0
Represents the logo section of the user interface. This element is always visible.

Member Function Documentation

virtual std::wstring CCTILogo::GetImageUrl ( ) [inline, virtual]

Gets the image url for this logo.

Returns:
The image url for this logo.

virtual std::wstring CCTILogo::GetLinkText ( ) [inline, virtual]

Gets the link Text for this logo.

Returns:
The link text for this logo.

virtual std::wstring CCTILogo::GetLinkUrl ( ) [inline, virtual]

Gets the link url for this logo.

Returns:
The link url for this logo.

virtual _bstr_t CCTILogo::GetTag ( ) [inline, virtual]

Gets the XML tag associated with this object.

Returns:
The XML tag associated with this object.

Reimplemented from CCTIObject.

virtual int CCTILogo::GetWindowHeight ( ) [inline, virtual]

Gets the popup window height for the logo link -- the height of the window that is generated when the link is clicked.

Returns:
The window height for this logo.

virtual int CCTILogo::GetWindowWidth ( ) [inline, virtual]

Gets the popup window width for the logo link -- the width of the window that is generated when the link is clicked.

Returns:
The window width for this logo.

virtual void CCTILogo::SetImageUrl ( std::wstring sImageUrl ) [inline, virtual]

Sets the image url for this logo. The image should be exactly 116x31 (WxH).

Parameters:
sImageUrl The image url for this logo.

virtual void CCTILogo::SetLinkText ( std::wstring sLinkText ) [inline, virtual]

Sets the link text for this logo.

Parameters:
sLinkText The link text for this logo.

virtual void CCTILogo::SetLinkUrl ( std::wstring sLinkUrl ) [inline, virtual]

Sets the link url for this logo.

Parameters:
sLinkUrl The link url for this logo.

virtual void CCTILogo::SetWindowHeight ( int nWindowHeight ) [inline, virtual]

Sets the popup window height for the logo link -- the height of the window that is generated when the link is clicked.

Parameters:
nWindowHeight The window height for this logo.

virtual void CCTILogo::SetWindowWidth ( int nWindowWidth ) [inline, virtual]

Sets the popup window width for the logo link -- the width of the window that is generated when the link is clicked.

Parameters:
nWindowWidth The window width for this logo.

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

CCTILogo Member List

This is the complete list of members for CCTILogo, including all inherited members.

AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement) | CCTIObject | [virtual]
AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild) | CCTIObject | [virtual]
AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CCriticalSection() | CCriticalSection |
CCTILogo(void) (defined in CCTILogo) | CCTILogo |
CCTIObject() (defined in CCTIObject) | CCTIObject |
Enter() const | CCriticalSection | [virtual]
GetAttribute(std::wstring sName) | CCTIObject | [virtual]
GetImageUrl() | CCTILogo | [inline, virtual]
GetLinkText() | CCTILogo | [inline, virtual]
GetLinkUrl() | CCTILogo | [inline, virtual]
GetTag() | CCTILogo | [inline, virtual]
GetVisible() | CCTIObject | [virtual]
GetWindowHeight() | CCTILogo | [inline, virtual]
GetWindowWidth() | CCTILogo | [inline, virtual]
Leave() const | CCriticalSection | [virtual]
m_bVisible | CCTIObject | [protected]
m_CS | CCriticalSection | [protected]
m_mapAttributes | CCTIObject | [protected]
RemoveAttribute(std::wstring sName) | CCTIObject | [virtual]
SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, std::wstring sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, const wchar_t *sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, bool bValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, int nValue) | CCTIObject | [virtual]
SetImageUrl(std::wstring sImageUrl) | CCTILogo | [inline, virtual]
SetLinkText(std::wstring sLinkText) | CCTILogo | [inline, virtual]
SetLinkUrl(std::wstring sLinkUrl) | CCTILogo | [inline, virtual]
SetVisible(bool bVisible) | CCTIObject | [virtual]
SetWindowHeight(int nWindowHeight) | CCTILogo | [inline, virtual]
SetWindowWidth(int nWindowWidth) | CCTILogo | [inline, virtual]
~CCriticalSection() | CCriticalSection |
~CCTILogo(void) (defined in CCTILogo) | CCTILogo | [virtual]
~CCTIObject() (defined in CCTIObject) | CCTIObject | [virtual]
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CCTIObject Class Reference

CCTIObject Class Reference

#include <CTIObject.h>

Inheritance diagram for CCTIObject:

CCriticalSection ILockable CCTIAgent CCTIDialpad CCTIForm CCTIIdLabelObject CCTILine CCTILogo CCTIPreviousCalls CCTIUserInterface CCTIWhoWhat List of all members.

Public Member Functions

virtual void | SetAttribute (std::wstring sName, std::wstring sValue)
virtual void | SetAttribute (std::wstring sName, const wchar_t *sValue)
virtual void | SetAttribute (std::wstring sName, bool bValue)
virtual void | SetAttribute (std::wstring sName, int nValue)
virtual void | RemoveAttribute (std::wstring sName)
virtual std::wstring | GetAttribute (std::wstring sName)
virtual void | SetVisible (bool bVisible)
virtual bool | GetVisible ()
virtual MSXML2::IXMLDOMDocumentFragmentPtr | SerializeToXML (MSXML2::IXMLDOMDocumentPtr pXMLDoc)
virtual void | AddAttributesToElement (MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement)
virtual void | AddChildIfVisible (MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild)
virtual _bstr_t | GetTag ()

Protected Attributes

PARAM_MAP | m_mapAttributes
bool | m_bVisible

Detailed Description

Version:
1.0
This class is the base class for all visual objects in the Salesforce.com CTI user interface. It provides such common functionality as visibility, attribute handling, and simple serialization.

Member Function Documentation

void CCTIObject::AddAttributesToElement | ( | MSXML2::IXMLDOMDocumentPtr | pXMLDoc,
 |  | MSXML2::IXMLDOMElementPtr | pElement
 | ) | [virtual]

Adds the attributes of this object as XML attributes attached to the input XML element.

Parameters:
pXMLDoc | The document object (used to create all elements, attributes, etc.)
pElement | The element on which to attach the attributes.

void CCTIObject::AddChildIfVisible | ( | MSXML2::IXMLDOMDocumentPtr | pXMLDoc,
 |  | MSXML2::IXMLDOMElementPtr | pXmlElement,
 |  | CCTIObject * | pChild
 | ) | [virtual]

Appends the XML of the child object (if the child object is visible) to the element passed in.

Parameters:
pXMLDoc | The document object (used to create all elements, attributes, etc.).
pXmlElement | The element to which the child object's XML should be added.
pChild | The child object to process.

std::wstring CCTIObject::GetAttribute ( std::wstring sName ) [virtual]

Gets the value of an attribute on this object.

Parameters:
sName The name of the attribute.
Returns:
The value of the input attribute, or the empty string if that attribute is not present.

virtual _bstr_t CCTIObject::GetTag ( ) [inline, virtual]

This method should be overridden by any subclass which intends to use the default SerializeToXML method.

Returns:
This object's tag name when it's serialized to XML.

Reimplemented in CCTIAgentState, CCTIButton, CCTIWhoWhat, CCTICallLog, CCTICheckbox, CCTIDialpad, CCTIEditBox, CCTIField, CCTIForm, CCTILogo, CCTIPreviousCalls, CCTIProgressBar, CCTIRelatedObject, CCTIRelatedObjectSet, CCTISelectableIdLabelObject, CCTIStatic, and CCTITimer.

bool CCTIObject::GetVisible ( ) [virtual]

Gets the visibility of this object.

Returns:
The visibility of this object.

void CCTIObject::RemoveAttribute ( std::wstring sName ) [virtual]

Removes an attribute from this object.

Parameters:
sName The name of the attribute to remove.

MSXML2::IXMLDOMDocumentFragmentPtr CCTIObject::SerializeToXML ( MSXML2::IXMLDOMDocumentPtr pXMLDoc ) [virtual]

This method takes this object and serializes it to XML. By default, it just generates a document fragment containing a single element with the tag defined in GetTag() and the attributes that have been attached to this object. Any objects with more complicated features (like subtags) should override this method to serialize themselves as they see fit.

Parameters:
pXMLDoc The document object (used to create all elements, attributes, etc.).
Returns:
A document fragment that represents this object serialized to XML.

Reimplemented in CCTIAgent, CCTICallLog, CCTIForm, CCTILine, CCTIPreviousCalls, CCTIReasonCodeSet, CCTIRelatedObject, CCTIRelatedObjectSet, and CCTIUserInterface.

void CCTIObject::SetAttribute | ( | std::wstring | sName,
 |  | int | nValue
 | ) | [virtual]

Sets a integer attribute on this object. Setting an attribute will cause it to be emitted as an XML attribute of this object when SerializeToXML is called.

Parameters:
sName | The name of the attribute.
nValue | The value of the attribute.

void CCTIObject::SetAttribute | ( | std::wstring | sName,
 |  | bool | bValue
 | ) | [virtual]

Sets a boolean attribute on this object. Setting an attribute will cause it to be emitted as an XML attribute of this object when SerializeToXML is called.

Parameters:
sName | The name of the attribute.
bValue | The value of the attribute.

void CCTIObject::SetAttribute | ( | std::wstring | sName,
 |  | const wchar_t * | sValue
 | ) | [virtual]

Sets a wchar_t* attribute on this object. Setting an attribute will cause it to be emitted as an XML attribute of this object when SerializeToXML is called.

Parameters:
sName | The name of the attribute.
sValue | The value of the attribute.

void CCTIObject::SetAttribute | ( | std::wstring | sName,
 |  | std::wstring | sValue
 | ) | [virtual]

Sets an attribute on this object. Setting an attribute will cause it to be emitted as an XML attribute of this object when SerializeToXML is called.

Parameters:
sName | The name of the attribute.
sValue | The value of the attribute.

void CCTIObject::SetVisible ( bool bVisible ) [virtual]

Sets the visiblility of this object. If this object is not visible, then it will not be emitted in XML.

Parameters:
bVisible The visibility of this object.

Member Data Documentation

bool CCTIObject::m_bVisible [protected]

Flag indicating whether this object is visible (i.e. emitted in XML)

PARAM_MAP CCTIObject::m_mapAttributes [protected]

The map containing this object's attributes.

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

CCTIObject Member List

This is the complete list of members for CCTIObject, including all inherited members.

AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement) | CCTIObject | [virtual]
AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild) | CCTIObject | [virtual]
AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CCriticalSection() | CCriticalSection |
CCTIObject() (defined in CCTIObject) | CCTIObject |
Enter() const | CCriticalSection | [virtual]
GetAttribute(std::wstring sName) | CCTIObject | [virtual]
GetTag() | CCTIObject | [inline, virtual]
GetVisible() | CCTIObject | [virtual]
Leave() const | CCriticalSection | [virtual]
m_bVisible | CCTIObject | [protected]
m_CS | CCriticalSection | [protected]
m_mapAttributes | CCTIObject | [protected]
RemoveAttribute(std::wstring sName) | CCTIObject | [virtual]
SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, std::wstring sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, const wchar_t *sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, bool bValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, int nValue) | CCTIObject | [virtual]
SetVisible(bool bVisible) | CCTIObject | [virtual]
~CCriticalSection() | CCriticalSection |
~CCTIObject() (defined in CCTIObject) | CCTIObject | [virtual]
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CCTIPreviousCalls Class Reference

CCTIPreviousCalls Class Reference

#include <CTIPreviousCalls.h>

Inheritance diagram for CCTIPreviousCalls:

CCTIObject CCriticalSection ILockable List of all members.

Public Member Functions

virtual void | Reset ()
virtual void | SetOpen (bool bOpen)
virtual bool | GetOpen ()
virtual void | AddCallLog (CCTICallLog *pLog)
virtual void | RemoveCallLog (CCTICallLog *pLog)
virtual void | RemoveOldCallLogs ()
virtual _bstr_t | GetTag ()
virtual CCTICallLog * | GetCallLogByCallId (std::wstring &sCallObjectId)
virtual MSXML2::IXMLDOMDocumentFragmentPtr | SerializeToXML (MSXML2::IXMLDOMDocumentPtr pXMLDoc)
virtual void | SetReportText (std::wstring sText)
virtual void | SetReportURL (std::wstring sUrl)
virtual void | SetReportLinkVisible (bool bReportLinkVisible)
virtual void | SetReportDate (int year, int month, int day)
virtual void | AddLogObject (std::wstring &sId, std::wstring &sObjectLabel, std::wstring &sObjectName, std::wstring &sEntityName)

Protected Attributes

bool | m_bOpen
CallLogList | m_listCallLogs

Detailed Description

Version:
1.0
This class represents a set of previous call logs in the Salesforce.com CTI user interface. It contains a queue of previous calls, up to 3 calls; when a call is added to the queue beyond 3, the oldest call gets removed from the queue, thus ensuring that only the 3 most recent calls are represented.

Member Function Documentation

void CCTIPreviousCalls::AddCallLog ( CCTICallLog * pLog ) [virtual]

Adds a call log to the previous calls list.

Parameters:
pLine The CCTICallLog object to add to the previous calls list.

void CCTIPreviousCalls::AddLogObject | ( | std::wstring & | sId,
 |  | std::wstring & | sObjectLabel,
 |  | std::wstring & | sObjectName,
 |  | std::wstring & | sEntityName
 | ) | [virtual]

Adds this log object to all previous call logs (in case they're edited), but does not select this object in those logs.

CCTICallLog * CCTIPreviousCalls::GetCallLogByCallId ( std::wstring & sCallObjectId ) [virtual]

Finds the call log in the previous calls by call object ID.

Parameters:
sCallObjectId The call object ID of the call log to return.
Returns:
The call log corresponding to the input call object ID, or NULL if none exist in the previous calls.

bool CCTIPreviousCalls::GetOpen ( ) [virtual]

Gets the open state of the previous calls area.

Returns:
True if the previous calls area is open, false if it's "rolled up."

virtual _bstr_t CCTIPreviousCalls::GetTag ( ) [inline, virtual]

Gets the XML tag associated with this object.

Returns:
The XML tag associated with this object.

Reimplemented from CCTIObject.

void CCTIPreviousCalls::RemoveCallLog ( CCTICallLog * pLog ) [virtual]

Removes the specified call log from the previous calls list, but does not delete the call log object.

Parameters:
pLog The CCTICallLog object to remove from the previous calls list.

void CCTIPreviousCalls::RemoveOldCallLogs ( ) [virtual]

Removes all "old" call logs, where "old" is defined as "more than 3 logs ago and not in edit mode."

void CCTIPreviousCalls::Reset ( ) [virtual]

Resets the previous calls area and deletes all the call log objects it holds.

MSXML2::IXMLDOMDocumentFragmentPtr CCTIPreviousCalls::SerializeToXML ( MSXML2::IXMLDOMDocumentPtr pXMLDoc ) [virtual]

Serializes this object to XML.

Parameters:
pXMLDoc The document object (used to create all elements, attributes, etc.).
Returns:
A document fragment that represents this object serialized to XML.

Reimplemented from CCTIObject.

void CCTIPreviousCalls::SetOpen ( bool bOpen ) [virtual]

Sets the open state of the previous calls area.

Parameters:
bOpen True if the previous calls area should be open, false if it's "rolled up."

virtual void CCTIPreviousCalls::SetReportLinkVisible ( bool bReportLinkVisible ) [inline, virtual]

Sets whether the report link is shown above the logo. By default it will be shown.

Parameters:
bReportLinkVisible True if the report link above the logo should be visible, false otherwise.

virtual void CCTIPreviousCalls::SetReportText ( std::wstring sText ) [inline, virtual]

Sets the text that shows in the report link section above the logo, which by default is "My Calls Today."

Parameters:
sText The text to show in the report link section above the logo

virtual void CCTIPreviousCalls::SetReportURL ( std::wstring sUrl ) [inline, virtual]

Sets the URL that the report link section above the logo points to. This URL should generally be a relative URL such as the default URL, which is:

/00O?pc0=CALLTYPE&pv0=&type=te&sort=CD&sd=82F302F2006&c=CS&c=OP&c=CO&c=LD&c=AT&c=CD_FMT&c=CL_DISP&c=CALLTYPE&c=SU&c=AS&details=yes&retURL=2F00O2Fo&pn0=ne&rt=24&scope=user&t=title_MyCallsToday&closed=closed

Like the default URL, the URL specified here should have no protocol or host information.

Parameters:
sUrl The relative URL that the report link should point to.

Member Data Documentation

bool CCTIPreviousCalls::m_bOpen [protected]

Indicates whether the previous calls area is open or "rolled up."

CallLogList CCTIPreviousCalls::m_listCallLogs [protected]

Holds the queue of call logs.

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

CCTIPreviousCalls Member List

This is the complete list of members for CCTIPreviousCalls, including all inherited members.

AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement) | CCTIObject | [virtual]
AddCallLog(CCTICallLog *pLog) | CCTIPreviousCalls | [virtual]
AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild) | CCTIObject | [virtual]
AddLogObject(std::wstring &sId, std::wstring &sObjectLabel, std::wstring &sObjectName, std::wstring &sEntityName) | CCTIPreviousCalls | [virtual]
AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CCriticalSection() | CCriticalSection |
CCTIObject() (defined in CCTIObject) | CCTIObject |
CCTIPreviousCalls() (defined in CCTIPreviousCalls) | CCTIPreviousCalls |
Enter() const | CCriticalSection | [virtual]
GetAttribute(std::wstring sName) | CCTIObject | [virtual]
GetCallLogByCallId(std::wstring &sCallObjectId) | CCTIPreviousCalls | [virtual]
GetOpen() | CCTIPreviousCalls | [virtual]
GetTag() | CCTIPreviousCalls | [inline, virtual]
GetVisible() | CCTIObject | [virtual]
Leave() const | CCriticalSection | [virtual]
m_bOpen | CCTIPreviousCalls | [protected]
m_bVisible | CCTIObject | [protected]
m_CS | CCriticalSection | [protected]
m_listCallLogs | CCTIPreviousCalls | [protected]
m_mapAttributes | CCTIObject | [protected]
RemoveAttribute(std::wstring sName) | CCTIObject | [virtual]
RemoveCallLog(CCTICallLog *pLog) | CCTIPreviousCalls | [virtual]
RemoveOldCallLogs() | CCTIPreviousCalls | [virtual]
Reset() | CCTIPreviousCalls | [virtual]
SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc) | CCTIPreviousCalls | [virtual]
SetAttribute(std::wstring sName, std::wstring sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, const wchar_t *sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, bool bValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, int nValue) | CCTIObject | [virtual]
SetOpen(bool bOpen) | CCTIPreviousCalls | [virtual]
SetReportDate(int year, int month, int day) (defined in CCTIPreviousCalls) | CCTIPreviousCalls | [inline, virtual]
SetReportLinkVisible(bool bReportLinkVisible) | CCTIPreviousCalls | [inline, virtual]
SetReportText(std::wstring sText) | CCTIPreviousCalls | [inline, virtual]
SetReportURL(std::wstring sUrl) | CCTIPreviousCalls | [inline, virtual]
SetVisible(bool bVisible) | CCTIObject | [virtual]
~CCriticalSection() | CCriticalSection |
~CCTIObject() (defined in CCTIObject) | CCTIObject | [virtual]
~CCTIPreviousCalls() (defined in CCTIPreviousCalls) | CCTIPreviousCalls | [virtual]
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CCTIProgressBar Class Reference

CCTIProgressBar Class Reference

#include <CTIProgressBar.h>

Inheritance diagram for CCTIProgressBar:

CCTIIdLabelObject CCTIObject CCriticalSection ILockable List of all members.

Public Member Functions

virtual _bstr_t GetTag ()

Detailed Description

This class represents a progress bar control that can exist within the context of a CCTIUserInterface or CCTILine. The progress bar does not give an indication of specific progress, but merely indicates that processing is occurring.

Member Function Documentation

virtual _bstr_t CCTIProgressBar::GetTag ( ) [inline, virtual]

Gets the XML tag associated with this object.

Returns:
The XML tag associated with this object.

Reimplemented from CCTIObject.

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

CCTIProgressBar Member List

This is the complete list of members for CCTIProgressBar, including all inherited members.

AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement) | CCTIObject | [virtual]
AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild) | CCTIObject | [virtual]
AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CCriticalSection() | CCriticalSection |
CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIIdLabelObject(std::wstring sId, std::wstring sLabel=L"") (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIObject() (defined in CCTIObject) | CCTIObject |
CCTIProgressBar() (defined in CCTIProgressBar) | CCTIProgressBar |
Enter() const | CCriticalSection | [virtual]
GetAttribute(std::wstring sName) | CCTIObject | [virtual]
GetId(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
GetLabel(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
GetTag() | CCTIProgressBar | [inline, virtual]
GetVisible() | CCTIObject | [virtual]
Leave() const | CCriticalSection | [virtual]
m_bVisible | CCTIObject | [protected]
m_CS | CCriticalSection | [protected]
m_mapAttributes | CCTIObject | [protected]
RemoveAttribute(std::wstring sName) | CCTIObject | [virtual]
SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, std::wstring sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, const wchar_t *sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, bool bValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, int nValue) | CCTIObject | [virtual]
SetId(std::wstring sId) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetLabel(std::wstring sLabel) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetVisible(bool bVisible) | CCTIObject | [virtual]
~CCriticalSection() | CCriticalSection |
~CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
~CCTIObject() (defined in CCTIObject) | CCTIObject | [virtual]
~CCTIProgressBar() (defined in CCTIProgressBar) | CCTIProgressBar | [virtual]
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CCTIReasonCodeSet Class Reference

CCTIReasonCodeSet Class Reference

#include <CTIReasonCodeSet.h>

Inheritance diagram for CCTIReasonCodeSet:

CCTIIdLabelObject CCTIObject CCriticalSection ILockable List of all members.

Public Member Functions

CCTIReasonCodeSet (std::wstring sId, std::wstring sLabel=L"")
virtual MSXML2::IXMLDOMDocumentFragmentPtr | SerializeToXML (MSXML2::IXMLDOMDocumentPtr pXMLDoc)
virtual void | SetReasonCodes (PARAM_MAP &mapReasonCodes)
virtual void | SetCallObjectId (std::wstring &sCallObjectId)
virtual std::wstring | GetCallObjectId ()
virtual void | SetSelectedReasonCode (std::wstring sId)
virtual std::wstring | GetSelectedReasonCode ()
virtual void | SelectFirstReasonCode ()
virtual void | ShowSaveButton (bool bShowSave)
virtual void | ShowNone (bool bShowNone)

Protected Attributes

PARAM_MAP | m_mapReasonCodes
std::wstring | m_sSelectedReasonCode

Detailed Description

Version:
1.0
This class represents a set of reason codes in the Salesforce.com CTI user interface. Note that no distinction is made here between wrap-up, not ready, and logout reason codes; for the purposes of this class, they're all just reason codes.

Member Function Documentation

virtual std::wstring CCTIReasonCodeSet::GetCallObjectId ( ) [inline, virtual]

Gets the call object ID of the call we're wrapping up. Should only be used if this object contains wrap-up codes.

Returns:
The call object ID of the call we're wrapping up.

virtual std::wstring CCTIReasonCodeSet::GetSelectedReasonCode ( ) [inline, virtual]

Gets the selected reason code.

Returns:
The ID of the selected reason code, or the empty string if no reason code is selected.

void CCTIReasonCodeSet::SelectFirstReasonCode ( ) [virtual]

Selects the first reason code in the list.

MSXML2::IXMLDOMDocumentFragmentPtr CCTIReasonCodeSet::SerializeToXML ( MSXML2::IXMLDOMDocumentPtr pXMLDoc ) [virtual]

Serializes this object to XML.

Reimplemented from CCTIObject.

virtual void CCTIReasonCodeSet::SetCallObjectId ( std::wstring & sCallObjectId ) [inline, virtual]

Sets the call object ID of the call we're wrapping up. Should only be used if this object contains wrap-up codes.

Parameters:
sCallObjectId The call object ID.

void CCTIReasonCodeSet::SetReasonCodes ( PARAM_MAP & mapReasonCodes ) [virtual]

Sets the map of reason codes (where the keys of the map are the reason code IDs and the values are the code labels).

Parameters:
mapReasonCodes The map of reason codes.

virtual void CCTIReasonCodeSet::SetSelectedReasonCode ( std::wstring sId ) [inline, virtual]

Sets the selected reason code.

Parameters:
sId The ID of the reason code to select.

virtual void CCTIReasonCodeSet::ShowNone ( bool bShowNone ) [inline, virtual]

Defines whether a None option should be shown with these reason codes.

Parameters:
bShowSave True if a None option should be shown with these reason codes.

virtual void CCTIReasonCodeSet::ShowSaveButton ( bool bShowSave ) [inline, virtual]

Defines whether a Save button should be shown with these reason codes.

Parameters:
bShowSave True if a Save button should be shown with these reason codes.

Member Data Documentation

PARAM_MAP CCTIReasonCodeSet::m_mapReasonCodes [protected]

The map of reason codes (where the keys of the map are the reason code IDs and the values are the code labels).

std::wstring CCTIReasonCodeSet::m_sSelectedReasonCode [protected]

The ID of the currently selected reason code in this set.

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

CCTIReasonCodeSet Member List

This is the complete list of members for CCTIReasonCodeSet, including all inherited members.

AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement) | CCTIObject | [virtual]
AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild) | CCTIObject | [virtual]
AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CCriticalSection() | CCriticalSection |
CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIIdLabelObject(std::wstring sId, std::wstring sLabel=L"") (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIObject() (defined in CCTIObject) | CCTIObject |
CCTIReasonCodeSet(void) (defined in CCTIReasonCodeSet) | CCTIReasonCodeSet |
CCTIReasonCodeSet(std::wstring sId, std::wstring sLabel=L"") (defined in CCTIReasonCodeSet) | CCTIReasonCodeSet |
Enter() const | CCriticalSection | [virtual]
GetAttribute(std::wstring sName) | CCTIObject | [virtual]
GetCallObjectId() | CCTIReasonCodeSet | [inline, virtual]
GetId(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
GetLabel(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
GetSelectedReasonCode() | CCTIReasonCodeSet | [inline, virtual]
GetTag() | CCTIObject | [inline, virtual]
GetVisible() | CCTIObject | [virtual]
Leave() const | CCriticalSection | [virtual]
m_bVisible | CCTIObject | [protected]
m_CS | CCriticalSection | [protected]
m_mapAttributes | CCTIObject | [protected]
m_mapReasonCodes | CCTIReasonCodeSet | [protected]
m_sSelectedReasonCode | CCTIReasonCodeSet | [protected]
RemoveAttribute(std::wstring sName) | CCTIObject | [virtual]
SelectFirstReasonCode() | CCTIReasonCodeSet | [virtual]
SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc) | CCTIReasonCodeSet | [virtual]
SetAttribute(std::wstring sName, std::wstring sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, const wchar_t *sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, bool bValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, int nValue) | CCTIObject | [virtual]
SetCallObjectId(std::wstring &sCallObjectId) | CCTIReasonCodeSet | [inline, virtual]
SetId(std::wstring sId) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetLabel(std::wstring sLabel) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetReasonCodes(PARAM_MAP &mapReasonCodes) | CCTIReasonCodeSet | [virtual]
SetSelectedReasonCode(std::wstring sId) | CCTIReasonCodeSet | [inline, virtual]
SetVisible(bool bVisible) | CCTIObject | [virtual]
ShowNone(bool bShowNone) | CCTIReasonCodeSet | [inline, virtual]
ShowSaveButton(bool bShowSave) | CCTIReasonCodeSet | [inline, virtual]
~CCriticalSection() | CCriticalSection |
~CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
~CCTIObject() (defined in CCTIObject) | CCTIObject | [virtual]
~CCTIReasonCodeSet(void) (defined in CCTIReasonCodeSet) | CCTIReasonCodeSet | [virtual]
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CCTIRelatedObject Class Reference

CCTIRelatedObject Class Reference

#include <CTIRelatedObject.h>

Inheritance diagram for CCTIRelatedObject:

CCTIIdLabelObject CCTIObject CCriticalSection ILockable List of all members.

Public Member Functions

CCTIRelatedObject (std::wstring sId, std::wstring sLabel)
virtual _bstr_t | GetTag ()
virtual void | AddField (CCTIField *pField)
virtual std::wstring | GetFieldValue (std::wstring sFieldId)
virtual MSXML2::IXMLDOMDocumentFragmentPtr | SerializeToXML (MSXML2::IXMLDOMDocumentPtr pXMLDoc)

Protected Attributes

std::wstring | m_sName
FieldList | m_listFields

Detailed Description

Version:
1.0
This class represents a single related object (like a Contact or Account) in the Salesforce.com CTI user interface.

Member Function Documentation

void CCTIRelatedObject::AddField ( CCTIField * pField ) [virtual]

Adds a field to this related object.

Parameters:
pField The field to add.

std::wstring CCTIRelatedObject::GetFieldValue ( std::wstring sFieldId ) [virtual]

Gets the value of the field bearing the Id of the input parameter.

Parameters:
sFieldId The Id of the field whose value to retrieve.
Returns:
The value of the field, or the empty string if the field does not exist.

virtual _bstr_t CCTIRelatedObject::GetTag ( ) [inline, virtual]

Gets the XML tag associated with this object.

Returns:
The XML tag associated with this object.

Reimplemented from CCTIObject.

MSXML2::IXMLDOMDocumentFragmentPtr CCTIRelatedObject::SerializeToXML ( MSXML2::IXMLDOMDocumentPtr pXMLDoc ) [virtual]

This method takes this object and serializes it to XML.

Parameters:
pXMLDoc The document object (used to create all elements, attributes, etc.)
Returns:
A document fragment that represents this object serialized to XML.

Reimplemented from CCTIObject.

Member Data Documentation

FieldList CCTIRelatedObject::m_listFields [protected]

The fields in this related object.

std::wstring CCTIRelatedObject::m_sName [protected]

The name of this related object (like "Harry Smith")

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

CCTIRelatedObject Member List

This is the complete list of members for CCTIRelatedObject, including all inherited members.

AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement) | CCTIObject | [virtual]
AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild) | CCTIObject | [virtual]
AddField(CCTIField *pField) | CCTIRelatedObject | [virtual]
AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CCriticalSection() | CCriticalSection |
CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIIdLabelObject(std::wstring sId, std::wstring sLabel=L"") (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIObject() (defined in CCTIObject) | CCTIObject |
CCTIRelatedObject(std::wstring sId, std::wstring sLabel) (defined in CCTIRelatedObject) | CCTIRelatedObject |
Enter() const | CCriticalSection | [virtual]
GetAttribute(std::wstring sName) | CCTIObject | [virtual]
GetFieldValue(std::wstring sFieldId) | CCTIRelatedObject | [virtual]
GetId(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
GetLabel(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
GetTag() | CCTIRelatedObject | [inline, virtual]
GetVisible() | CCTIObject | [virtual]
Leave() const | CCriticalSection | [virtual]
m_bVisible | CCTIObject | [protected]
m_CS | CCriticalSection | [protected]
m_listFields | CCTIRelatedObject | [protected]
m_mapAttributes | CCTIObject | [protected]
m_sName | CCTIRelatedObject | [protected]
RemoveAttribute(std::wstring sName) | CCTIObject | [virtual]
SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc) | CCTIRelatedObject | [virtual]
SetAttribute(std::wstring sName, std::wstring sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, const wchar_t *sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, bool bValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, int nValue) | CCTIObject | [virtual]
SetId(std::wstring sId) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetLabel(std::wstring sLabel) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetVisible(bool bVisible) | CCTIObject | [virtual]
~CCriticalSection() | CCriticalSection |
~CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
~CCTIObject() (defined in CCTIObject) | CCTIObject | [virtual]
~CCTIRelatedObject(void) (defined in CCTIRelatedObject) | CCTIRelatedObject |
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CCTIRelatedObjectSet Class Reference

CCTIRelatedObjectSet Class Reference

#include <CTIRelatedObjectSet.h>

Inheritance diagram for CCTIRelatedObjectSet:

CCTIIdLabelObject CCTIObject CCriticalSection ILockable List of all members.

Public Member Functions

CCTIRelatedObjectSet (std::wstring sId, std::wstring sSingularLabel, std::wstring sPluralLabel)
virtual void | SetSingularLabel (std::wstring &sSingularLabel)
virtual std::wstring | GetSingularLabel ()
virtual void | SetPluralLabel (std::wstring &sPluralLabel)
virtual std::wstring | GetPluralLabel ()
virtual std::wstring | GetObjectName ()
virtual _bstr_t | GetTag ()
virtual MSXML2::IXMLDOMDocumentFragmentPtr | SerializeToXML (MSXML2::IXMLDOMDocumentPtr pXMLDoc)
virtual RelObjectList * | GetRelatedObjects ()
virtual int | GetRelatedObjectCount ()
virtual void | AddRelatedObject (CCTIRelatedObject *pRelatedObject)
virtual CCTIRelatedObject * | GetFirstObject ()
virtual bool | ContainsRelatedObject (std::wstring sId)
virtual void | Merge (CCTIRelatedObjectSet *pSet)

Protected Attributes

RelObjectList | m_listRelatedObjects
RelObjectMap | m_mapRelatedObjects
std::wstring | m_sSingularLabel
std::wstring | m_sPluralLabel

Detailed Description

Version:
1.0
This class represents a set of like related objects (like Contacts or Accounts) in the Salesforce.com CTI user interface.

Member Function Documentation

void CCTIRelatedObjectSet::AddRelatedObject ( CCTIRelatedObject * pRelatedObject ) [virtual]

Adds a related object to this set.

Parameters:
pRelatedObject The related object to add.

bool CCTIRelatedObjectSet::ContainsRelatedObject ( std::wstring sId ) [virtual]

Returns true if this set contains the related object referred to by the specified ID, false otherwise.

Parameters:
sId The ID of the related object to search for.
Returns:
True if this set contains the related object referred to by the specified ID, false otherwise.

CCTIRelatedObject * CCTIRelatedObjectSet::GetFirstObject ( ) [virtual]

Returns the first object in this set, or NULL if this set is empty. This method is handy for reporting purposes, when we can only attach an activity to one member of the set.

Returns:
The first object in this set, or the empty string if this set is empty.

virtual std::wstring CCTIRelatedObjectSet::GetObjectName ( ) [inline, virtual]

Gets the entity name of this set's object type.

Returns:
The entity name of this set's object type.

virtual std::wstring CCTIRelatedObjectSet::GetPluralLabel ( ) [inline, virtual]

Gets the plural label of this set's object type.

Returns:
The plural label of this set's object type.

virtual int CCTIRelatedObjectSet::GetRelatedObjectCount ( ) [inline, virtual]

Returns the number of related objects that this set contains.

Returns:
The number of related objects that this set contains.

virtual RelObjectList* CCTIRelatedObjectSet::GetRelatedObjects ( ) [inline, virtual]

Returns the list of related objects that this set contains.

Returns:
The list of related objects that this set contains.

virtual std::wstring CCTIRelatedObjectSet::GetSingularLabel ( ) [inline, virtual]

Gets the singular label of this set's object type.

Returns:
The singular label of this set's object type.

virtual _bstr_t CCTIRelatedObjectSet::GetTag ( ) [inline, virtual]

Gets the XML tag associated with this object.

Returns:
The XML tag associated with this object.

Reimplemented from CCTIObject.

void CCTIRelatedObjectSet::Merge ( CCTIRelatedObjectSet * pSet ) [virtual]

Merges the contents of another related object set of the same type into this one, eliminating any duplicates. Note that this method call will "steal" any non-duplicate related objects from the input parameter set, leaving only duplicate items in it. It is expected that this object will be the primary object after this method call, and the input parameter set will be disposed of.

Parameters:
pSet The related object set to merge into this one.

MSXML2::IXMLDOMDocumentFragmentPtr CCTIRelatedObjectSet::SerializeToXML ( MSXML2::IXMLDOMDocumentPtr pXMLDoc ) [virtual]

This method takes this object and serializes it to XML.

Parameters:
pXMLDoc The document object (used to create all elements, attributes, etc.)
Returns:
A document fragment that represents this object serialized to XML.

Reimplemented from CCTIObject.

virtual void CCTIRelatedObjectSet::SetPluralLabel ( std::wstring & sPluralLabel ) [inline, virtual]

Sets the plural label of this set's object type.

Parameters:
sPluralLabel The plural label of this set's object type.

virtual void CCTIRelatedObjectSet::SetSingularLabel ( std::wstring & sSingularLabel ) [inline, virtual]

Sets the singular label of this set's object type.

Parameters:
sSingularLabel The singular label of this set's object type.

Member Data Documentation

RelObjectList CCTIRelatedObjectSet::m_listRelatedObjects [protected]

The list of related objects (kept for the purposes of maintaining their order)

RelObjectMap CCTIRelatedObjectSet::m_mapRelatedObjects [protected]

The id-to-pointer hashmap of related objects (kept for the purposes of the Merge method)

std::wstring CCTIRelatedObjectSet::m_sPluralLabel [protected]

The plural label of this set's object type.

std::wstring CCTIRelatedObjectSet::m_sSingularLabel [protected]

The singular label of this set's object type.

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

CCTIRelatedObjectSet Member List

This is the complete list of members for CCTIRelatedObjectSet, including all inherited members.

AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement) | CCTIObject | [virtual]
AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild) | CCTIObject | [virtual]
AddRelatedObject(CCTIRelatedObject *pRelatedObject) | CCTIRelatedObjectSet | [virtual]
AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CCriticalSection() | CCriticalSection |
CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIIdLabelObject(std::wstring sId, std::wstring sLabel=L"") (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIObject() (defined in CCTIObject) | CCTIObject |
CCTIRelatedObjectSet() (defined in CCTIRelatedObjectSet) | CCTIRelatedObjectSet |
CCTIRelatedObjectSet(std::wstring sId, std::wstring sSingularLabel, std::wstring sPluralLabel) (defined in CCTIRelatedObjectSet) | CCTIRelatedObjectSet |
ContainsRelatedObject(std::wstring sId) | CCTIRelatedObjectSet | [virtual]
Enter() const | CCriticalSection | [virtual]
GetAttribute(std::wstring sName) | CCTIObject | [virtual]
GetFirstObject() | CCTIRelatedObjectSet | [virtual]
GetId(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
GetLabel(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
GetObjectName() | CCTIRelatedObjectSet | [inline, virtual]
GetPluralLabel() | CCTIRelatedObjectSet | [inline, virtual]
GetRelatedObjectCount() | CCTIRelatedObjectSet | [inline, virtual]
GetRelatedObjects() | CCTIRelatedObjectSet | [inline, virtual]
GetSingularLabel() | CCTIRelatedObjectSet | [inline, virtual]
GetTag() | CCTIRelatedObjectSet | [inline, virtual]
GetVisible() | CCTIObject | [virtual]
Leave() const | CCriticalSection | [virtual]
m_bVisible | CCTIObject | [protected]
m_CS | CCriticalSection | [protected]
m_listRelatedObjects | CCTIRelatedObjectSet | [protected]
m_mapAttributes | CCTIObject | [protected]
m_mapRelatedObjects | CCTIRelatedObjectSet | [protected]
m_sPluralLabel | CCTIRelatedObjectSet | [protected]
m_sSingularLabel | CCTIRelatedObjectSet | [protected]
Merge(CCTIRelatedObjectSet *pSet) | CCTIRelatedObjectSet | [virtual]
RemoveAttribute(std::wstring sName) | CCTIObject | [virtual]
SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc) | CCTIRelatedObjectSet | [virtual]
SetAttribute(std::wstring sName, std::wstring sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, const wchar_t *sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, bool bValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, int nValue) | CCTIObject | [virtual]
SetId(std::wstring sId) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetLabel(std::wstring sLabel) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetPluralLabel(std::wstring &sPluralLabel) | CCTIRelatedObjectSet | [inline, virtual]
SetSingularLabel(std::wstring &sSingularLabel) | CCTIRelatedObjectSet | [inline, virtual]
SetVisible(bool bVisible) | CCTIObject | [virtual]
~CCriticalSection() | CCriticalSection |
~CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
~CCTIObject() (defined in CCTIObject) | CCTIObject | [virtual]
~CCTIRelatedObjectSet(void) (defined in CCTIRelatedObjectSet) | CCTIRelatedObjectSet | [virtual]
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CCTISelectableIdLabelObject Class Reference

CCTISelectableIdLabelObject Class Reference

#include <CTISelectableIdLabelObject.h>

Inheritance diagram for CCTISelectableIdLabelObject:

CCTIIdLabelObject CCTIObject CCriticalSection ILockable CCTIAgentState List of all members.

Public Member Functions

CCTISelectableIdLabelObject (bool bSelected=false)
CCTISelectableIdLabelObject (std::wstring sId, std::wstring sLabel, bool bSelected=false)
virtual void | SetSelected (bool bSelected)
virtual bool | GetSelected (void)
virtual _bstr_t | GetTag ()

Protected Attributes

bool | m_bSelected

Detailed Description

Version:
1.0
This class represents an object with an ID, LABEL, and SELECTED parameter in the Salesforce.com CTI user interface. This is not a top-level object in the user interface, but a base class for other objects.

Member Function Documentation

bool CCTISelectableIdLabelObject::GetSelected ( void ) [virtual]

Gets this object's selected state

Returns:
True if this object is selected, false otherwise

virtual _bstr_t CCTISelectableIdLabelObject::GetTag ( ) [inline, virtual]

Gets the XML tag associated with this object.

Returns:
The XML tag associated with this object.

Reimplemented from CCTIObject.

Reimplemented in CCTIAgentState.

void CCTISelectableIdLabelObject::SetSelected ( bool bSelected ) [virtual]

Sets this object's selected state

Parameters:
bSelected True if this object should become selected, false otherwise

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

CCTISelectableIdLabelObject Member List

This is the complete list of members for CCTISelectableIdLabelObject, including all inherited members.

AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement) | CCTIObject | [virtual]
AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild) | CCTIObject | [virtual]
AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CCriticalSection() | CCriticalSection |
CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIIdLabelObject(std::wstring sId, std::wstring sLabel=L"") (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIObject() (defined in CCTIObject) | CCTIObject |
CCTISelectableIdLabelObject(bool bSelected=false) (defined in CCTISelectableIdLabelObject) | CCTISelectableIdLabelObject |
CCTISelectableIdLabelObject(std::wstring sId, std::wstring sLabel, bool bSelected=false) (defined in CCTISelectableIdLabelObject) | CCTISelectableIdLabelObject |
Enter() const | CCriticalSection | [virtual]
GetAttribute(std::wstring sName) | CCTIObject | [virtual]
GetId(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
GetLabel(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
GetSelected(void) | CCTISelectableIdLabelObject | [virtual]
GetTag() | CCTISelectableIdLabelObject | [inline, virtual]
GetVisible() | CCTIObject | [virtual]
Leave() const | CCriticalSection | [virtual]
m_bSelected (defined in CCTISelectableIdLabelObject) | CCTISelectableIdLabelObject | [protected]
m_bVisible | CCTIObject | [protected]
m_CS | CCriticalSection | [protected]
m_mapAttributes | CCTIObject | [protected]
RemoveAttribute(std::wstring sName) | CCTIObject | [virtual]
SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, std::wstring sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, const wchar_t *sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, bool bValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, int nValue) | CCTIObject | [virtual]
SetId(std::wstring sId) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetLabel(std::wstring sLabel) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetSelected(bool bSelected) | CCTISelectableIdLabelObject | [virtual]
SetVisible(bool bVisible) | CCTIObject | [virtual]
~CCriticalSection() | CCriticalSection |
~CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
~CCTIObject() (defined in CCTIObject) | CCTIObject | [virtual]
~CCTISelectableIdLabelObject(void) (defined in CCTISelectableIdLabelObject) | CCTISelectableIdLabelObject | [inline, virtual]
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CCTIStatic Class Reference

CCTIStatic Class Reference

#include <CTIStatic.h>

Inheritance diagram for CCTIStatic:

CCTIIdLabelObject CCTIObject CCriticalSection ILockable List of all members.

Public Member Functions

CCTIStatic (std::wstring sId=L"", std::wstring sLabel=L"")
virtual _bstr_t | GetTag ()
virtual void | SetError (bool bError)
virtual bool | GetError ()

Protected Attributes

bool | m_bError

Detailed Description

Version:
1.0
This class represents a static text element in the Salesforce.com CTI user interface.

Member Function Documentation

virtual bool CCTIStatic::GetError ( ) [inline, virtual]

Gets whether this static is an error message.

Returns:
The error state of this error message.

virtual _bstr_t CCTIStatic::GetTag ( ) [inline, virtual]

Gets the XML tag associated with this object.

Returns:
The XML tag associated with this object.

Reimplemented from CCTIObject.

virtual void CCTIStatic::SetError ( bool bError ) [inline, virtual]

Sets whether this static is an error message.

Parameters:
bError Should be true if this static is an error message, false if not.

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

CCTIStatic Member List

This is the complete list of members for CCTIStatic, including all inherited members.

AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement) | CCTIObject | [virtual]
AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild) | CCTIObject | [virtual]
AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CCriticalSection() | CCriticalSection |
CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIIdLabelObject(std::wstring sId, std::wstring sLabel=L"") (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIObject() (defined in CCTIObject) | CCTIObject |
CCTIStatic(std::wstring sId=L"", std::wstring sLabel=L"") (defined in CCTIStatic) | CCTIStatic |
Enter() const | CCriticalSection | [virtual]
GetAttribute(std::wstring sName) | CCTIObject | [virtual]
GetError() | CCTIStatic | [inline, virtual]
GetId(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
GetLabel(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
GetTag() | CCTIStatic | [inline, virtual]
GetVisible() | CCTIObject | [virtual]
Leave() const | CCriticalSection | [virtual]
m_bError (defined in CCTIStatic) | CCTIStatic | [protected]
m_bVisible | CCTIObject | [protected]
m_CS | CCriticalSection | [protected]
m_mapAttributes | CCTIObject | [protected]
RemoveAttribute(std::wstring sName) | CCTIObject | [virtual]
SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, std::wstring sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, const wchar_t *sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, bool bValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, int nValue) | CCTIObject | [virtual]
SetError(bool bError) | CCTIStatic | [inline, virtual]
SetId(std::wstring sId) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetLabel(std::wstring sLabel) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetVisible(bool bVisible) | CCTIObject | [virtual]
~CCriticalSection() | CCriticalSection |
~CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
~CCTIObject() (defined in CCTIObject) | CCTIObject | [virtual]
~CCTIStatic(void) (defined in CCTIStatic) | CCTIStatic |
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CCTITimer Class Reference

CCTITimer Class Reference

#include <CTITimer.h>

Inheritance diagram for CCTITimer:

CCTIIdLabelObject CCTIObject CCriticalSection ILockable List of all members.

Public Member Functions

CCTITimer (std::wstring sId, std::wstring sLabel=L"")
virtual int | GetMinutes ()
virtual void | SetMinutes (int nMinutes)
virtual int | GetSeconds ()
virtual void | SetSeconds (int nSeconds)
virtual int | GetTotalSeconds ()
virtual void | Reset ()
virtual void | Start ()
virtual void | Update ()
virtual _bstr_t | GetTag ()

Protected Attributes

int | m_nMinutes
int | m_nSeconds
DWORD | m_nStartTicks

Detailed Description

Version:
1.0
This class encapsulates a timer which will tick in real time in the user interface. A timer can only be attached to a line.

Member Function Documentation

virtual _bstr_t CCTITimer::GetTag ( ) [inline, virtual]

Gets the XML tag associated with this object.

Returns:
The XML tag associated with this object.

Reimplemented from CCTIObject.

int CCTITimer::GetTotalSeconds ( ) [virtual]

Gets the total number of seconds that have elapsed since this timer was started.

Returns:
The total number of seconds that have elapsed since this timer was started.

void CCTITimer::Reset ( ) [virtual]

Reset the timer to 0. Note that Start() must be called again in order to start the timer after a reset.

virtual void CCTITimer::Start ( ) [inline, virtual]

Starts the timer at this instant. Note that the timer will only update itself with the current time when Update() is called, so one should be sure to call Update() before serializing this timer to XML.

void CCTITimer::Update ( ) [virtual]

Updates this timer to contain the amount of time since the last time Start() was called. Note that if Start() was never called, then this method will simply show a time of 0. So be sure to always call Start() before calling Update().

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

CCTITimer Member List

This is the complete list of members for CCTITimer, including all inherited members.

AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement) | CCTIObject | [virtual]
AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild) | CCTIObject | [virtual]
AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CCriticalSection() | CCriticalSection |
CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIIdLabelObject(std::wstring sId, std::wstring sLabel=L"") (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIObject() (defined in CCTIObject) | CCTIObject |
CCTITimer(std::wstring sId, std::wstring sLabel=L"") (defined in CCTITimer) | CCTITimer |
Enter() const | CCriticalSection | [virtual]
GetAttribute(std::wstring sName) | CCTIObject | [virtual]
GetId(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
GetLabel(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
GetMinutes() (defined in CCTITimer) | CCTITimer | [inline, virtual]
GetSeconds() (defined in CCTITimer) | CCTITimer | [inline, virtual]
GetTag() | CCTITimer | [inline, virtual]
GetTotalSeconds() | CCTITimer | [virtual]
GetVisible() | CCTIObject | [virtual]
Leave() const | CCriticalSection | [virtual]
m_bVisible | CCTIObject | [protected]
m_CS | CCriticalSection | [protected]
m_mapAttributes | CCTIObject | [protected]
m_nMinutes (defined in CCTITimer) | CCTITimer | [protected]
m_nSeconds (defined in CCTITimer) | CCTITimer | [protected]
m_nStartTicks (defined in CCTITimer) | CCTITimer | [protected]
RemoveAttribute(std::wstring sName) | CCTIObject | [virtual]
Reset() | CCTITimer | [virtual]
SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, std::wstring sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, const wchar_t *sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, bool bValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, int nValue) | CCTIObject | [virtual]
SetId(std::wstring sId) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetLabel(std::wstring sLabel) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetMinutes(int nMinutes) (defined in CCTITimer) | CCTITimer | [inline, virtual]
SetSeconds(int nSeconds) (defined in CCTITimer) | CCTITimer | [inline, virtual]
SetVisible(bool bVisible) | CCTIObject | [virtual]
Start() | CCTITimer | [inline, virtual]
Update() | CCTITimer | [virtual]
~CCriticalSection() | CCriticalSection |
~CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
~CCTIObject() (defined in CCTIObject) | CCTIObject | [virtual]
~CCTITimer(void) (defined in CCTITimer) | CCTITimer | [virtual]
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CCTIUserInterface Class Reference

CCTIUserInterface Class Reference

#include <CTIUserInterface.h>

Inheritance diagram for CCTIUserInterface:

CCTIObject CCriticalSection ILockable List of all members.

Public Member Functions

CCTIUserInterface (CCTIAdapter *pAdapter, int nNumberOfFixedLines)
virtual void | UIRefresh ()
virtual void | UIParseIncomingXMLMessage (BSTR xmlMessage)
virtual void | Initialize ()
virtual void | DestroyChildren ()
virtual MSXML2::IXMLDOMDocumentFragmentPtr | SerializeToXML (MSXML2::IXMLDOMDocumentPtr pXMLDoc)
virtual void | SetWrapupCodeRequired (bool bRequired)
virtual bool | GetWrapupCodeRequired ()
virtual void | SetNotReadyReasonRequired (bool bRequired)
virtual bool | GetNotReadyReasonRequired ()
virtual void | SetLogoutReasonRequired (bool bRequired)
virtual bool | GetLogoutReasonRequired ()
virtual void | SetShowWrapupSaveButton (bool bShowWrapupSaveButton)
virtual bool | GetShowWrapupSaveButton ()
virtual void | UIShowReasonCodes (PARAM_MAP &mapReasonCodes, std::wstring sReasonCodeId)
virtual void | UIShowWrapupCodes ()
virtual void | SetWrapupReasonCodes (PARAM_MAP &mapReasonCodes)
virtual PARAM_MAP * | GetWrapupReasonCodes ()
virtual void | UIShowNotReadyReasonCodes ()
virtual void | SetNotReadyReasonCodes (PARAM_MAP &mapReasonCodes)
virtual PARAM_MAP * | GetNotReadyReasonCodes ()
virtual void | UIShowLogoutReasonCodes ()
virtual void | SetLogoutReasonCodes (PARAM_MAP &mapReasonCodes)
virtual PARAM_MAP * | GetLogoutReasonCodes ()
void | SetUserParametersMap (PARAM_MAP &mapSource)
CCTILine * GetNextAvailableFixedLine ()
virtual bool | GetConnected ()
virtual void | SetConnected (bool bConnected)
virtual bool | GetLoggedIn ()
virtual void | SetLoggedIn (bool bLoggedIn)
virtual bool | GetUseAsynchronousSearch ()
virtual void | SetUseAsynchronousSearch (bool bUseAsynchronousSearch)
virtual bool | GetAutoLogin ()
virtual void | SetAutoLogin (bool bAutoLogin)
virtual void | OnCTIConnection ()
virtual void | OnCTIConnectionFailed (std::wstring sErrorMessage=L"")
virtual void | OnCTIConnectionClosed ()
virtual void | OnButtonEnablementChange (std::list< int > &listEnabledButtons, bool bSendUpdatedXML=true)
virtual void | OnButtonEnablementChange (int nLine, std::list< int > &listEnabledButtons, bool bSendUpdatedXML=true)
virtual void | OnAgentStateEnablementChange (std::list< std::wstring > &listEnabledAgentStates, std::wstring &sAgentState)
virtual void | OnAgentStateChange (std::wstring &sAgentState)
virtual int | OnCallRinging (std::wstring sCallObjectId, int nCallType, bool bPerformSearch, bool bLogCall, PARAM_MAP &mapInfoFields, PARAM_MAP &mapAttachedData, int nLineNumber=NULL)
virtual int | OnCallDialing (std::wstring sCallObjectId, PARAM_MAP &mapInfoFields, bool bPerformSearch, bool bLogCall, int nLineNumber=NULL, int nCallType=CALLTYPE_OUTBOUND)
virtual void | OnCallEstablished (std::wstring sCallObjectId)
virtual void | OnCallEnd (std::wstring sCallObjectId, bool bMoveCallLogToPrevious=true)
virtual void | OnCallHeld (std::wstring sCallObjectId)
virtual void | OnCallRetrieved (std::wstring sCallObjectId)
virtual void | OnCallTransferred (std::wstring sCallObjectId)
virtual void | OnCallConferenced (std::wstring sCallObjectId, StringList listParties)
virtual void | OnCallPartyDropped (std::wstring &sCallObjectId, std::wstring &sANI)
virtual void | OnCallAttemptFailed (std::wstring sErrorMessageId, std::wstring sErrorMessage, std::wstring sCallObjectId=L"", int nLine=0)
virtual void | UIUpdateSid (PARAM_MAP &parameters)
virtual void | CallUpdateComments (PARAM_MAP &parameters)
virtual void | CallUpdateSubject (PARAM_MAP &parameters)
virtual void | CallClickToDial (PARAM_MAP &parameters)
virtual void | UIShowDialpad (int nLineNumber, int nDialpadType, bool bUpdateXML)
virtual void | UIHideDialpad (int nLineNumber, int nDialpadType, bool bUpdateXML)
virtual void | CallAttachSingleItem (std::wstring sCallObjectId, std::wstring sKey, std::wstring sValue)
virtual void | UIAddLogObject (PARAM_MAP &parameters)
virtual void | CallSelectLogObject (PARAM_MAP &parameters)
virtual void | UIToggleTwisty (PARAM_MAP &parameters)
virtual void | UIEditCallLog (PARAM_MAP &parameters)
virtual void | UISaveCallLog (PARAM_MAP &parameters)
virtual void | UICancelEditCallLog (PARAM_MAP &parameters)
virtual void | UIMoveCallLogToPreviousCalls (CCTICallLog *pLog, bool bRemoveFromCurrentList=true)
virtual void | UIMakePreviousCallLogCurrent (CCTICallLog *pLog)
virtual bool | CTIIsOccupiedAgentState (std::wstring sAgentState)
virtual void | UIUpdateSavedCallLog (std::wstring sCallObjectId, std::wstring sId)
virtual void | CTIConnect (PARAM_MAP &parameters)
virtual void | CTIDisconnect (PARAM_MAP &parameters)
virtual void | CTILogin (PARAM_MAP &parameters)
virtual void | CTILogout (PARAM_MAP &parameters)
virtual void | CallInitiate (PARAM_MAP &parameters)
virtual void | CallRelease (PARAM_MAP &parameters)
virtual void | CallAnswer (PARAM_MAP &parameters)
virtual void | CallHold (PARAM_MAP &parameters)
virtual void | CallAlternate (PARAM_MAP &parameters)
virtual void | CallRetrieve (PARAM_MAP &parameters)
virtual void | CallInitiateTransfer (PARAM_MAP &parameters)
virtual void | CallInitiateConference (PARAM_MAP &parameters)
virtual void | CallOneStepTransfer (PARAM_MAP &parameters)
virtual void | CallOneStepConference (PARAM_MAP &parameters)
virtual void | CallCompleteTransfer (PARAM_MAP &parameters)
virtual void | CallCompleteConference (PARAM_MAP &parameters)
virtual void | CallSetWrapupCode (PARAM_MAP &parameters)
virtual void | CallSaveWrapup ()
virtual void | CTIChangeAgentState (PARAM_MAP &parameters)
virtual void | CallAttachData (std::wstring sCallObjectId, PARAM_MAP mapAttachedData)
virtual void | CallUnattachData (std::wstring sCallObjectId, std::wstring sKey)
virtual void | UIHandleMessage (std::wstring &message, PARAM_MAP &parameters)
virtual int | GetNumberOfFixedLines ()
virtual int | GetNumberOfLines ()
virtual CCTILine * | GetLine (int nLineNumber)
virtual CCTILine * | GetLineByCallId (const std::wstring &sCallObjectId)
virtual void | SetChildrenVisible (bool bAgentsVisible, bool bLinesVisible, bool bReasonCodesVisible, bool bCallLogsVisible)
virtual void | SetOneStepTransferEnabled (bool bEnable)
virtual bool | GetOneStepTransferEnabled ()
virtual void | SetOneStepConferenceEnabled (bool bEnable)
virtual bool | GetOneStepConferenceEnabled ()
virtual void | SetAutoReconnect (bool bAutoReconnect)
virtual bool | GetAutoReconnect ()
virtual CCTIForm * | CreateLoginForm ()
virtual void | CallAttachUserInfo (int nLineNumber, int nUserInfoType)
virtual void | SetCurrentUserName (std::wstring sUserName)
virtual std::wstring | GetCurrentUserName ()
virtual void | SetLastEndedCallId (std::wstring sCallId)
virtual std::wstring | GetLastEndedCallId ()
virtual void | SetLastTransferredCallId (std::wstring sCallId)
virtual std::wstring | GetLastTransferredCallId ()
virtual void | UIAddButtonToAllLines (int nButtonId, CCTIButton *pButton)
virtual void | UIRemoveButtonFromAllLines (int nButtonId)
virtual void | UIAddAgentState (std::wstring sId, int nOrder, std::wstring sLabel)
virtual CCTIAppExchange * | GetAppExchange ()
virtual void | SetLogoImageUrl (std::wstring sImageUrl)
virtual CCTILine * | CreateVirtualLine (std::wstring sCallObjectId)
virtual void | DestroyVirtualLine (CCTILine *pLine)
virtual std::wstring | GetCallObjectIdFromLine (int nLineNumber)
virtual void | SetAllowDialpadForAllLines (bool bAllowDialpad)
virtual void | QueueCallInitiate (PARAM_MAP &parameters)
virtual void | QueueCTIChangeAgentState (PARAM_MAP &parameters)
virtual void | UIHideProgressBar ()
virtual void | UIShowProgressBar (std::wstring sId, std::wstring sLabel=L"")
virtual void | UIAllowAgentArea (bool bAllowAgentStateArea)
virtual void | UIHideStatusBar ()
virtual void | UIShowStatusBar (bool bError, std::wstring sId, std::wstring sLabel=L"")
virtual void | QueueCTILogin (PARAM_MAP &parameters)
virtual void | UIHideLineStatusBars ()
virtual void | SetInfoFieldLabel (std::wstring sId, std::wstring sLabel)
virtual std::wstring | GetInfoFieldLabel (std::wstring sId)
virtual void | SetPartyANI (CCTIParty *pParty, std::wstring sANI)
virtual bool | CallChangeCallObjectId (const std::wstring &sOldCallObjectId, const std::wstring &sNewCallObjectId)
virtual CCTICallLog * | GetCallLogForLine (int nLineNumber)
CCTICallLog * | GetCallLogForCallId (const std::wstring &sCallObjectId)
virtual void | SetDialOutCode (std::wstring sDialOutCode)
virtual std::wstring | GetDialOutCode ()
virtual void | SetDomesticDialCode (std::wstring sDomesticDialCode)
virtual std::wstring | GetDomesticDialCode ()
virtual void | SetInternationalDialCode (std::wstring sInternationalDialCode)
virtual std::wstring | GetInternationalDialCode ()
virtual void | UIAddLogObjectByCallId (std::wstring &sCallObjectId, std::wstring &sId, std::wstring &sObjectLabel, std::wstring &sObjectName, std::wstring &sEntityName, bool bAttachToCall)
virtual void | UIClearCallLogs ()
virtual void | SanitizeDN (PARAM_MAP &parameters)
virtual void | SetExtension (std::wstring &sExtension)
virtual std::wstring | GetExtension ()
virtual CCTIPreviousCalls * | GetPreviousCallLogs ()
virtual bool | GetAllLinesOpen ()
virtual std::wstring | GetCurrentAgentState ()

Protected Member Functions

virtual CCTIParty * | CreateParty (std::wstring sANI, int nPartyType=0)
virtual CCTICallLog * | CreateCallLog (int nLineNumber, std::wstring &sCallObjectId, int nCallType)
void | DestroyParty (CCTIParty *pParty)
virtual void | DestroyParties ()

Protected Attributes

CCTIForm * m_pLoginForm
CCTIAgent * m_pCTIAgent
LineList | m_listLines
CCTIReasonCodeSet * m_pReasonCodeSet
CCTIAppExchange * m_pAppExchange
CCTIStatic m_statusBar
CCTIProgressBar m_progressBar
CCTILogo m_logo
bool | m_bConnected
bool | m_bLoggedIn
bool | m_bAutoLogin
std::wstring | m_sCurrentUserName
int | m_nNumberOfFixedLines
std::wstring | m_sAgentState
bool | m_bQueuedLogin
CCTIAdapter * m_pAdapter
bool | m_bEnableOneStepTransfer
bool | m_bEnableOneStepConference
bool | m_bNotReadyReasonRequired
bool | m_bLogoutReasonRequired
bool | m_bShowWrapupSaveButton
bool | m_bWrapupCodeRequired
PARAM_MAP | m_mapWrapupReasonCodes
PARAM_MAP | m_mapNotReadyReasonCodes
PARAM_MAP | m_mapLogoutReasonCodes
bool | m_bAutoReconnect
PARAM_MAP | m_mapConnectionParams
PARAM_MAP | m_mapUserParams
PARAM_MAP | m_mapQueuedMakeCall
bool | m_bQueuedLogout
PARAM_MAP | m_mapInfoFieldLabels
AniPartyMap | m_mapANIToParties
std::wstring | m_sDialOutCode
std::wstring | m_sDomesticDialCode
std::wstring | m_sInternationalDialCode
CCTIPreviousCalls * m_pPreviousCalls
CallLogList | m_listCallLogs
std::wstring | m_sLastEndedCallId
std::wstring | m_sLastTransferredCallId
std::wstring | m_sExtension
std::wstring | m_sId
std::wstring | m_sEntityName
std::wstring | m_sLastDN
bool | m_bUseAsynchronousSearch
bool | m_bAllowAgentStateArea

Detailed Description

Version:
1.0
This class represents the base class for the "glue" between a CTI server and the Salesforce.com user interface. All CTI adapters should subclass this class, overriding the methods in the Commands section to actually perform the actions described. CTI adapters should also create event sinks that call the corresponding events in this class, optionally overriding the event methods here to perform additional processing.

Constructor & Destructor Documentation

CCTIUserInterface::CCTIUserInterface | ( | CCTIAdapter * | pAdapter,
 |  | int | nNumberOfFixedLines
 | ) |

Creates a new CCTIUserInterface object and assigns it the number of fixed lines to display.

Parameters:
pAdapter | The CCTIAdapter object that this CCTIUserInterface will attach to.
nNumberOfFixedLines | The number of fixed lines that this CCTIUserInterface will support.

Member Function Documentation

virtual void CCTIUserInterface::CallAlternate ( PARAM_MAP & parameters ) [inline, virtual]

This command should alternate between a call on hold and an active call. Its parameters will include at least KEY_LINE_NUMBER (the line on which alternate was clicked).

Parameters:
parameters The map of parameters.

virtual void CCTIUserInterface::CallAnswer ( PARAM_MAP & parameters ) [inline, virtual]

This command should answer the active call on a line. Its parameters will include at least KEY_LINE_NUMBER (the line on which to answer the call).

Parameters:
parameters The map of parameters.

virtual void CCTIUserInterface::CallAttachData | ( | std::wstring | sCallObjectId,
 |  | PARAM_MAP | mapAttachedData
 | ) | [inline, virtual]

This method should be overridden by subclasses to attach data to the active call on the specified line. If a name collision exists -- i.e. there exists a piece of data attached to the call with the same key as one specified here -- then it is expected that this method will overwrite that piece of data.

Note that the attached data is passed as a map rather than a reference. This creates a local copy of the map, allowing subclasses to modify the map as they see fit without affecting the caller's map.

Parameters:
sCallObjectId | The call object ID of the active call to attach to.
mapAttachedData | A map of key-value pairs of the data to attach.

virtual void CCTIUserInterface::CallAttachSingleItem | ( | std::wstring | sCallObjectId,
 |  | std::wstring | sKey,
 |  | std::wstring | sValue
 | ) | [inline, virtual]

This method uses the map version of CallAttachData to attach a single item to the call. This method generally does not need to be overridden by subclasses.

Parameters:
sCallObjectId | The call object ID of the active call to attach to.
sKey | The key of the data to attach.
sValue | The value of the data to attach.

void CCTIUserInterface::CallAttachUserInfo | ( | int | nLineNumber,
 |  | int | nUserInfoType
 | ) | [virtual]

This method uses the CallAttachData method to attach the current user's name and extension to the call (useful for transfers and conferences). Subclasses generally do not need to override this method, except if they wish to attach additional user information when it's called.

Parameters:
nLineNumber | The line containing the call to attach the data to.
nUserInfoType | The type of user info to attach. Should be one of USERINFO_TRANSFER or USERINFO_CONFERENCE.

bool CCTIUserInterface::CallChangeCallObjectId | ( | const std::wstring & | sOldCallObjectId,
 |  | const std::wstring & | sNewCallObjectId
 | ) | [virtual]

Finds the line with the old call object ID and changes it to the new call object ID. This may occur, for example, with switches that create a new connection (and a new corresponding ID) when a conference or transfer is completed.

Parameters:
sOldCallObjectId | The old call object ID.
sNewCallObjectId | The new call object ID.
Returns:
True if a line with the old call object ID was found and its ID changed.

void CCTIUserInterface::CallClickToDial ( PARAM_MAP & parameters ) [virtual]

This command handles click-to-dial links that were clicked in Salesforce.com. It interprets the input phone number, adding dialing codes if necessary, and calls CallInitiate. Its parameters will include at least KEY_DN (the number to dial, complete with punctuation) Generally, subclasses will not need to implement this method.

Parameters:
parameters

virtual void CCTIUserInterface::CallCompleteConference ( PARAM_MAP & parameters ) [inline, virtual]

This command should complete a consult conference for the active call on a line. Its parameters will include at least KEY_DN (the number to conference to) and KEY_LINE_NUMBER (the line from which to make the conference).

Parameters:
parameters The map of parameters.

virtual void CCTIUserInterface::CallCompleteTransfer ( PARAM_MAP & parameters ) [inline, virtual]

This command should complete a consult transfer for the active call on a line. Its parameters will include at least KEY_DN (the number to transfer to) and KEY_LINE_NUMBER (the line from which to make the transfer).

Parameters:
parameters The map of parameters.

virtual void CCTIUserInterface::CallHold ( PARAM_MAP & parameters ) [inline, virtual]

This command should place the active call on hold on a line. Its parameters will include at least KEY_LINE_NUMBER (the line on which to hold the call).

Parameters:
parameters The map of parameters.

void CCTIUserInterface::CallInitiate ( PARAM_MAP & parameters ) [virtual]

This command should make a call. Its parameters will include at least KEY_DN (the number to dial) and KEY_LINE_NUMBER (the line from which to make the call).

Parameters:
parameters The map of parameters.

void CCTIUserInterface::CallInitiateConference ( PARAM_MAP & parameters ) [virtual]

This command should initiate a consult conference for the active call on a line. The default implementation of this command attaches data to the call; subclasses should be sure to call the base class implementation when overriding this method.

Its parameters will include at least KEY_DN (the number to conference to) and KEY_LINE_NUMBER (the line from which to make the conference).

Parameters:
parameters The map of parameters.

void CCTIUserInterface::CallInitiateTransfer ( PARAM_MAP & parameters ) [virtual]

This command should initiate a consult transfer for the active call on a line. The default implementation of this command attaches data to the call; subclasses should be sure to call the base class implementation when overriding this method.

Its parameters will include at least KEY_DN (the number to transfer to) and KEY_LINE_NUMBER (the line from which to make the transfer).

Parameters:
parameters The map of parameters.

void CCTIUserInterface::CallOneStepConference ( PARAM_MAP & parameters ) [virtual]

This command should initiate a one step conference for the active call on a line. The default implementation of this command attaches data to the call; subclasses should be sure to call the base class implementation when overriding this method.

Its parameters will include at least KEY_DN (the number to conference to) and KEY_LINE_NUMBER (the line from which to make the conference).

Parameters:
parameters The map of parameters.

void CCTIUserInterface::CallOneStepTransfer ( PARAM_MAP & parameters ) [virtual]

This command should initiate a one step transfer for the active call on a line. The default implementation of this command attaches data to the call; subclasses should be sure to call the base class implementation when overriding this method.

Its parameters will include at least KEY_DN (the number to transfer to) and KEY_LINE_NUMBER (the line from which to make the transfer).

Parameters:
parameters The map of parameters.

virtual void CCTIUserInterface::CallRelease ( PARAM_MAP & parameters ) [inline, virtual]

This command should release the active call on a line. Its parameters will include at least KEY_LINE_NUMBER (the line from which to release the call).

Parameters:
parameters The map of parameters.

virtual void CCTIUserInterface::CallRetrieve ( PARAM_MAP & parameters ) [inline, virtual]

This command should retrieve the held call on a line. Its parameters will include at least KEY_LINE_NUMBER (the line from which to retrieve the call).

Parameters:
parameters The map of parameters.

void CCTIUserInterface::CallSaveWrapup ( ) [virtual]

This command should save the wrapup code to the CTI system and set the agent back to a ready state. It does not have any parameters.

void CCTIUserInterface::CallSelectLogObject ( PARAM_MAP & parameters ) [virtual]

Selects the object specified in the parameters' KEY_ID value in the call log specified by the parameters' KEY_LINE_NUMBER value.

The parameters of this command should include at least KEY_ID and KEY_LINE_NUMBER.

Parameters:
parameters The parameters of the command.

void CCTIUserInterface::CallSetWrapupCode ( PARAM_MAP & parameters ) [virtual]

This command should set the wrapup code for a call that was completed. Its parameters will include at least KEY_CALL_OBJECT_ID (the call object ID of the call being wrapped up) and KEY_ID (the ID of the wrapup code that was selected).

Subclasses should be sure to call the base class method prior to acting upon the wrapup code.

Parameters:
parameters The map of parameters.

virtual void CCTIUserInterface::CallUnattachData | ( | std::wstring | sCallObjectId,
 |  | std::wstring | sKey
 | ) | [inline, virtual]

This method should be overridden by subclasses to unattach the piece of data with the specified key from the active call. If the key does not exist, this method should return silently.

Parameters:
sCallObjectId | The call object ID of the active call to attach to.
sKey | The key of the data to unattach.

void CCTIUserInterface::CallUpdateComments ( PARAM_MAP & parameters ) [virtual]

This method is called whenever the user updates the comments on an active call log.

Subclasses probably do not need to override this command; but if they do, they should be sure to call this base class method first.

Parameters:
parameters A map that should contain at least two key-value pairs, one for KEY_CALL_OBJECT_ID and one for KEY_VALUE (where VALUE corresponds to the comments that the user entered).

void CCTIUserInterface::CallUpdateSubject ( PARAM_MAP & parameters ) [virtual]

This method is called whenever the user updates the subject on an active call log.

Subclasses probably do not need to override this command; but if they do, they should be sure to call this base class method first.

Parameters:
parameters A map that should contain at least two key-value pairs, one for KEY_CALL_OBJECT_ID and one for KEY_VALUE (where VALUE corresponds to the comments that the user entered).

CCTICallLog * CCTIUserInterface::CreateCallLog | ( | int | nLineNumber,
 |  | std::wstring & | sCallObjectId,
 |  | int | nCallType
 | ) | [protected, virtual]

Creates a call log for the specified line with a localized subject like "Call 6/7/2006 12:51PM." Override this method to change aspects of call logs (such as the subject).

Parameters:
nLineNumber | The line number for which to create the log.
sCallObjectId | The call object ID of the call for which this call log is being created.
nCallType | The call type of the call for which this call log is being created.
Returns:
The newly created CCTICallLog object.

CCTIForm * CCTIUserInterface::CreateLoginForm ( ) [virtual]

This method should be subclassed by all adapters to provide an appropriate form for logging an agent into this adapter. This method should create a new instance of CCTIForm; the caller will take responsibility for disposing of the object.

Returns:
A CCTILoginForm object whose children are all the visual elements necessary to log an agent into this adapter.

CCTIParty * CCTIUserInterface::CreateParty | ( | std::wstring | sANI,
 |  | int | nPartyType = 0
 | ) | [protected, virtual]

Creates a CCTIParty object and manages its lifetime.

Parameters:
sANI | The ANI associated with the party.
nPartyType | (optional) The type of the party. See the documentation for CCTIParty for more information.
Returns:
The newly created CCTIParty object

CCTILine * CCTIUserInterface::CreateVirtualLine ( std::wstring sCallObjectId ) [virtual]

Creates a virtual line to handle the call with the specified call ID.

Parameters:
sCallObjectId The call ID that will be handled by the virtual line.
Returns:
A CCTILine object representing a virtual line.

virtual void CCTIUserInterface::CTIChangeAgentState ( PARAM_MAP & parameters ) [inline, virtual]

Subclasses should override this method to actually change to the desired agent state. Any override of this method should be sure to call the base class method first. The input parameter map will contain a parameter called KEY_ID which will map to the agent state that the user specified. Possible values of the ID parameter are KEY_LOGOUT, KEY_NOT_READY, and KEY_READY, and other possible codes that subclasses might define.

Parameters:
parameters The map of parameters.

void CCTIUserInterface::CTIConnect ( PARAM_MAP & parameters ) [virtual]

This command should perform a connection to the CTI server. There is no default set of parameters for this command; it is entirely dependent on the data that the platform requires for connection. Subclasses that override this method should ensure that they always call the base class method first.

Parameters:
parameters The map of parameters.

virtual void CCTIUserInterface::CTIDisconnect ( PARAM_MAP & parameters ) [inline, virtual]

This command should disconnect from the CTI server. There is no default set of parameters for this command; it is entirely dependent on the data that the platform requires for disconnection.

Parameters:
parameters The map of parameters.

bool CCTIUserInterface::CTIIsOccupiedAgentState ( std::wstring sAgentState ) [virtual]

This method returns true if the input agent state is an "occupied" agent state. An "occupied" agent state is defined as an agent state wherein it is possible that there may be active calls; by default, this means that the agent is either in a call or in wrapup mode. This method should be overridden if more "occupied" agent states are added. For instance, someone may choose to add an “At Lunch” agent state, and that would be considered unoccupied (because there won’t be any calls on the line when you’re at lunch) – but if someone chose to add a “Dialing” agent state, that would be considered an “occupied” agent state, because it’s likely that calls will be on a line (or at least the line will be engaged) while the agent is dialing.

Parameters:
sAgentState The agent state.
Returns:
True if the input agent state is an "occupied" agent state.

void CCTIUserInterface::CTILogin ( PARAM_MAP & parameters ) [virtual]

This command should log an agent into the CTI server. There is no default set of parameters for this command; it is entirely dependent on the data that the platform requires for login.

Parameters:
parameters The map of parameters.

virtual void CCTIUserInterface::CTILogout ( PARAM_MAP & parameters ) [inline, virtual]

This command should log an agent out of the CTI server. Its parameters may include KEY_REASON_CODE (the ID of the logout reason code) in the event that GetLogoutReasonRequired is true.

Parameters:
parameters The map of parameters.

void CCTIUserInterface::DestroyChildren ( ) [virtual]

This method is called when the CCTIUserInterface object is destructed. It can be overridden to destroy additional objects that the subclass creates. If this method is overridden, the subclasser must be sure to call the base class implementation first.

void CCTIUserInterface::DestroyParties ( ) [protected, virtual]

Checks if all lines are fallow; if they are, deletes all the currently stored party objects.

void CCTIUserInterface::DestroyParty ( CCTIParty * pParty ) [protected]

Deletes the specified party. This should only be called just before the party is removed from the line, lest the line maintain an invalid reference.

Parameters:
pParty The party to destroy.

void CCTIUserInterface::DestroyVirtualLine ( CCTILine * pLine ) [virtual]

Destroys the virtual line associated with the input call ID.

Parameters:
pLine The virtual line to destroy.

bool CCTIUserInterface::GetAllLinesOpen ( ) [virtual]

Returns:
True if all lines are currently open, false otherwise.

CCTIAppExchange * CCTIUserInterface::GetAppExchange ( ) [virtual]

Gets the one and only search object that this CCTIUserInterface contains, creating it first if necessary. Subclasses should override this method to provide their own subclass of CCTIAppExchange if they wish to override the default search behavior.

Returns:
A reference to the one and only search object that this CCTIUserInterface contains.

virtual bool CCTIUserInterface::GetAutoLogin ( ) [inline, virtual]

Finds whether the current user is set to autologin.

Returns:
true if the user is set to autologin.

virtual bool CCTIUserInterface::GetAutoReconnect ( ) [inline, virtual]

Gets whether we automatically reconnect on connection closed or failure.

Returns:
True if we automatically reconnect on connection closed or failure.

CCTICallLog * CCTIUserInterface::GetCallLogForCallId ( const std::wstring & sCallObjectId )

Gets the call log object associated with the specified call object ID.

Parameters:
sCallObjectId The call object ID.
Returns:
The call log object associated with the specified call object ID, or NULL if no such log exists.

CCTICallLog * CCTIUserInterface::GetCallLogForLine ( int nLineNumber ) [virtual]

Gets the call log object associated with the specified line number.

Parameters:
nLineNumber The line number.
Returns:
The call log object associated with the specified line, or NULL if no such log exists.

std::wstring CCTIUserInterface::GetCallObjectIdFromLine ( int nLineNumber ) [virtual]

Gets the call object ID from the specified line, or the empty string if the line has no call object id.

Parameters:
nLineNumber The line from which to get the call object ID
Returns:
The call object ID, or the empty string if the line has no call object id.

virtual bool CCTIUserInterface::GetConnected ( ) [inline, virtual]

Finds whether the adapter is connected to the CTI server. The base method does a simple check against a boolean variable it keeps. Subclasses could optionally override this method to do a more thorough connected check.

Returns:
true if the adapter is connected to the CTI server.

std::wstring CCTIUserInterface::GetCurrentAgentState ( ) [virtual]

Gets the current agent state.

Returns:
The ID of the current agent state.

virtual std::wstring CCTIUserInterface::GetCurrentUserName ( ) [inline, virtual]

Gets the name (as recorded in Salesforce.com) of the currently logged-in user.

virtual std::wstring CCTIUserInterface::GetDialOutCode ( ) [inline, virtual]

Gets the dial out code, which is the sequence of digits that allows the phone to dial outside the local switch.

virtual std::wstring CCTIUserInterface::GetDomesticDialCode ( ) [inline, virtual]

Gets the domestic dial code, which is the sequence of digits that allows the phone to dial a domestic long distance number.

virtual std::wstring CCTIUserInterface::GetExtension ( ) [inline, virtual]

Gets the extension number associated with this agent.

Returns:
The extension number associated with this agent.

virtual std::wstring CCTIUserInterface::GetInfoFieldLabel ( std::wstring sId ) [inline, virtual]

Returns the info field label corresponding to the input ID, if one exists.

Parameters:
sId The info field ID.
Returns:
The info field corresponding to the ID, or the empty string if none exist.

virtual std::wstring CCTIUserInterface::GetInternationalDialCode ( ) [inline, virtual]

Gets the international dial code, which is the sequence of digits that allows the phone to dial a international long distance number.

virtual std::wstring CCTIUserInterface::GetLastEndedCallId ( ) [inline, virtual]

Gets the the call object ID of the last ended call.

virtual std::wstring CCTIUserInterface::GetLastTransferredCallId ( ) [inline, virtual]

Gets the the call object ID of the last transferred call.

CCTILine * CCTIUserInterface::GetLine ( int nLineNumber ) [virtual]

Returns the CCTILine object representing the specified line, or NULL if no such object exists.

Bear in mind that, when iterating through lines, the list is 1-indexed -- there is no Line 0.

Parameters:
nLineNumber The line number to return.
Returns:
A CCTILine object representing the specified line.

CCTILine * CCTIUserInterface::GetLineByCallId ( const std::wstring & sCallObjectId ) [virtual]

Returns the CCTILine object representing line handling the given call ID, or NULL if no such object exists.

Parameters:
sCallObjectId An active call object ID.
Returns:
A CCTILine object representing the line handling the given call ID.

virtual bool CCTIUserInterface::GetLoggedIn ( ) [inline, virtual]

Finds whether the agent is logged in with this adapter. The base method does a simple check against a boolean variable it keeps. Subclasses could optionally override this method to do a more thorough logged-in check.

Returns:
true if the agent is logged in with this adapter.

PARAM_MAP * CCTIUserInterface::GetLogoutReasonCodes ( ) [virtual]

Gets the map of logout reason codes.

Returns:
The map containing the logout reason codes.

virtual bool CCTIUserInterface::GetLogoutReasonRequired ( ) [inline, virtual]

Gets the flag indicating whether logout reason codes are required.

Returns:
True if a reason code is required to log out.

CCTILine * CCTIUserInterface::GetNextAvailableFixedLine ( )

Gets the next available fixed line (i.e. the next line with state LINE_OPEN), or NULL if there are no available fixed lines.

Returns:
The next available fixed line, or NULL if there are none.

PARAM_MAP * CCTIUserInterface::GetNotReadyReasonCodes ( ) [virtual]

Gets the map of not ready reason codes.

Returns:
The map containing the not ready reason codes.

virtual bool CCTIUserInterface::GetNotReadyReasonRequired ( ) [inline, virtual]

Gets the flag indicating whether not ready reason codes are required.

Returns:
True if a reason code is required to go not ready.

int CCTIUserInterface::GetNumberOfFixedLines ( ) [virtual]

Returns the number of fixed lines that this adapter supports (set in the constructor of this object).

Returns:
The number of fixed lines that this user interface includes.

int CCTIUserInterface::GetNumberOfLines ( ) [virtual]

Returns the total number of lines, both fixed and virtual, that this user interface currently includes.

Bear in mind that, when iterating through lines, the list is 1-indexed -- there is no Line 0.

Returns:
The total number of lines, both fixed and virtual, that this user interface currently includes.

virtual bool CCTIUserInterface::GetOneStepConferenceEnabled ( ) [inline, virtual]

Gets the current visibility of the One-Step Conference button in the conference dialpad.

Returns:
The current visibility of the One-Step Conference button in the conference dialpad.

virtual bool CCTIUserInterface::GetOneStepTransferEnabled ( ) [inline, virtual]

Gets the current visibility of the One-Step Transfer button in the transfer dialpad.

Returns:
The current visibility of the One-Step Transfer button in the transfer dialpad.

virtual CCTIPreviousCalls* CCTIUserInterface::GetPreviousCallLogs ( ) [inline, virtual]

Returns:
A pointer to the previous call logs object.

virtual bool CCTIUserInterface::GetShowWrapupSaveButton ( ) [inline, virtual]

Gets the flag indicating whether a save button is rendered with wrapup codes.

Returns:
True if a save button is rendered with wrapup codes.

virtual bool CCTIUserInterface::GetUseAsynchronousSearch ( ) [inline, virtual]

Returns:
True if searches should be performed asynchronously.

virtual bool CCTIUserInterface::GetWrapupCodeRequired ( ) [inline, virtual]

Sets the flag indicating whether a wrapup code is required.

Returns:
True if a wrapup code is required.

PARAM_MAP * CCTIUserInterface::GetWrapupReasonCodes ( ) [virtual]

Gets the map of wrapup codes.

Returns:
The map containing the wrapup codes.

void CCTIUserInterface::Initialize ( ) [virtual]

This method should be called immediately after the CCTIUserInterface object is constructed. By default, creates all the children of this user interface, including the login form, agent state area, all lines, and the reason code object.

If this method is overridden, the subclasser must be sure to call the base class implementation first.

void CCTIUserInterface::OnAgentStateChange ( std::wstring & sAgentState ) [virtual]

This event indicates that the agent's state has changed, and updates the UI to reflect the new state.

Parameters:
sAgentState The new agent state.

void CCTIUserInterface::OnAgentStateEnablementChange | ( | std::list< std::wstring > & | listEnabledAgentStates,
 |  | std::wstring & | sAgentState
 | ) | [virtual]

This event enables all agent states specified in the list and also sets the current agent state as specified.

Parameters:
listEnabledAgentStates | A list of agent states to enable.
sAgentState | The current agent state

void CCTIUserInterface::OnButtonEnablementChange | ( | int | nLine,
 |  | std::list< int > & | listEnabledButtons,
 |  | bool | bSendUpdatedXML = true
 | ) | [virtual]

This version of the OnButtonEnablementChange event enables all the buttons specified in the list (by numeric button ID) _only_ for the line specified. All buttons not in the list will be disabled.

Parameters:
nLine | The line for which the buttons should be enabled.
listEnabledButtons | The list of buttons that should be enabled.
bSendUpdatedXML | True if this event should immediately update the XML (should be set to false if the button enablement change is a subset of another event which will itself update the XML)

void CCTIUserInterface::OnButtonEnablementChange | ( | std::list< int > & | listEnabledButtons,
 |  | bool | bSendUpdatedXML = true
 | ) | [virtual]

This version of the OnButtonEnablementChange event enables all the buttons specified in the list (by numeric button ID) for _all_ fixed lines in this UI. All buttons not in the list will be disabled.

Parameters:
listEnabledButtons | The list of buttons that should be enabled.
bSendUpdatedXML | True if this event should immediately update the XML (should be set to false if the button enablement change is a subset of another event which will itself update the XML)

void CCTIUserInterface::OnCallAttemptFailed | ( | std::wstring | sErrorMessageId,
 |  | std::wstring | sErrorMessage,
 |  | std::wstring | sCallObjectId = L"",
 |  | int | nLine = 0
 | ) | [virtual]

This event should be thrown if an outgoing call attempt failed, e.g. the line was busy or the number does not exist. It displays the input error message on the line's status bar as an error. If the line is unspecified, then the error message gets displayed in the main CCTIUserInterface status bar.

If the call had already been created, i.e. it is already shown in the UI, then the adapter should follow a call to this event with one to OnCallEnd to clear the call off the line.

Parameters:
sErrorMessageId | The ID of the error message to display, if the error message is stored in Salesforce.com. This can be the empty string if sErrorMessage is specified.
sErrorMessage | The error message to display if the error message is generated by the CTI back end. This can be left blank if sErrorMessageId was specified.
sCallObjectId | (optional) The call object ID of the call that failed.
nLine | (optional) The line on which to display the error message; preferably the line from which the action was initiated.

void CCTIUserInterface::OnCallConferenced | ( | std::wstring | sCallObjectId,
 |  | StringList | listParties
 | ) | [virtual]

This event should be called when a call has been conferenced.

Parameters:
sCallObjectId | The call object ID of the call that was conferenced.
listParties | A list of ANIs that correspond to the parties of the conference.

int CCTIUserInterface::OnCallDialing | ( | std::wstring | sCallObjectId,
 |  | PARAM_MAP & | mapInfoFields,
 |  | bool | bPerformSearch,
 |  | bool | bLogCall,
 |  | int | nLineNumber = NULL,
 |  | int | nCallType = CALLTYPE_OUTBOUND
 | ) | [virtual]

This event should be called when an agent dials out from a line. The map of info fields should contain static data about the call; at the very least, it should have an entry called KEY_DNIS indicating the number that was dialed.

Parameters:
nLineNumber | The line number from which the outgoing call was made. If this parameter is unspecified or set to NULL, then a new "virtual" line will be created for this call.
sCallObjectId | The call object ID. This should be the unique ID that the CTI server assigns to the call.
mapInfoFields | A map of info fields to show about this call.
bPerformSearch | Flag indicating whether this event should perform a search in the AppExchange API using the supplied parameter maps.
bLogCall | Flag indicating whether a call log should be created for this call. If true, a Current Call Log area will appear in the UI for this call.
nCallType | The call type. Should be one of CALLTYPE_INTERNAL or CALLTYPE_OUTBOUND.
Returns:
The line number onto which the call was placed (or 0 if the call could not be successfully placed).

void CCTIUserInterface::OnCallEnd | ( | std::wstring | sCallObjectId,
 |  | bool | bMoveCallLogToPrevious = true
 | ) | [virtual]

This event should be called when a call with a particular ID has ended. This event will clear out that call's line; if the line was temporary (i.e. created just for that call, as in a transfer or conference), then the line will be deleted and all other lines renumbered.

This event will also save the call log for the call and move that log to the previous calls area, unless otherwise specified in bMoveCallLogToPrevious.

Parameters:
sCallObjectId | The call ID of the call that has ended.
bMoveCallLogToPrevious | (optional) True if this method should move the call log for this call to the previous calls section, false if it should not (i.e. in anticipation of wrapup mode). Default is true.

void CCTIUserInterface::OnCallEstablished ( std::wstring sCallObjectId ) [virtual]

This event should be called when a call with a particular ID has been established.

Parameters:
sCallObjectId The call ID of the call that is established.

void CCTIUserInterface::OnCallHeld ( std::wstring sCallObjectId ) [virtual]

This event should be called when a call with a particular ID has been placed on hold.

Parameters:
sCallObjectId The call ID of the call that is placed on hold.

void CCTIUserInterface::OnCallPartyDropped | ( | std::wstring & | sCallObjectId,
 |  | std::wstring & | sANI
 | ) | [virtual]

This event should be called when a party drops from a conference, but the conference has not yet ended.

Parameters:
sCallObjectId | The call object ID of the call from which the party has dropped.
sANI | The ANI of the party that has dropped.

void CCTIUserInterface::OnCallRetrieved ( std::wstring sCallObjectId ) [virtual]

This event should be called when a call with a particular ID has been retrieved.

Parameters:
sCallObjectId The call ID of the call that is retrieved.

int CCTIUserInterface::OnCallRinging | ( | std::wstring | sCallObjectId,
 |  | int | nCallType,
 |  | bool | bPerformSearch,
 |  | bool | bLogCall,
 |  | PARAM_MAP & | mapInfoFields,
 |  | PARAM_MAP & | mapAttachedData,
 |  | int | nLineNumber = NULL
 | ) | [virtual]

This event should be called when a line begins ringing (or is about to ring). The map of info fields should contain static data about the call; at the very least, it should have an entry called KEY_ANI, but it can also contain KEY_DNIS, data about the queue and skill group, and so on. The map of attached data can be empty; if it is filled, the keys must be of the form "Object.Field", where "Object" corresponds to the developer name of an object defined in Salesforce.com, and "Field" corresponds to the developer name of a field in the same. So "Case.CaseNumber" would be a valid key. The values corresponding these keys should be the values that, for example, an IVR script has passed in; so if there's an entry that is "Case.CaseNumber"->KEY_1001, then this event will automatically go and do a search on cases where Case.CaseNumber=1001.

Parameters:
sCallObjectId | The call object ID. This should be the unique ID that the CTI server assigns to the call.
nCallType | The call type. Should be one of CALLTYPE_INTERNAL or CALLTYPE_INBOUND.
bPerformSearch | Flag indicating whether this event should perform a search in the AppExchange API using the supplied parameter maps.
bLogCall | Flag indicating whether a call log should be created for this call. If true, a Current Call Log area will appear in the UI for this call.
mapInfoFields | A map of info fields to show about this call.
mapAttachedData | A map of data attached to this call.
nLineNumber | The line number on which the call has begun. If this parameter is unspecified or set to NULL, then a new "virtual" line will be created for this call.
Returns:
The line number onto which the call was placed (or 0 if the call could not be successfully placed).

void CCTIUserInterface::OnCallTransferred ( std::wstring sCallObjectId ) [virtual]

This event should be called when a call has been transferred.

Parameters:
sCallObjectId The call object ID of the call that was transferred.

void CCTIUserInterface::OnCTIConnection ( ) [virtual]

This event should be called when a connection is made with the CTI server.

void CCTIUserInterface::OnCTIConnectionClosed ( ) [virtual]

This event should be called when a connection with the CTI server is closed (but not necessarily due to failure).

void CCTIUserInterface::OnCTIConnectionFailed ( std::wstring sErrorMessage = L"" ) [virtual]

This event should be called when a connection failure with the CTI server occurs.

Parameters:
sErrorMessage (optional) The error message to show. If this parameter is not specified then the default "connection failed" error message will be shown.

void CCTIUserInterface::QueueCallInitiate ( PARAM_MAP & parameters ) [virtual]

Queues a CallInitiate command so that the agent can first be set to Not Ready.

Parameters:
parameters The parameters of the CallInitiate command

void CCTIUserInterface::QueueCTIChangeAgentState ( PARAM_MAP & parameters ) [virtual]

Queues a CTIChangeAgentState command (generally LOGOUT) so that the agent can first be set to Not Ready.

Parameters:
parameters The parameters of the CTIChangeAgentState command

void CCTIUserInterface::QueueCTILogin ( PARAM_MAP & parameters ) [virtual]

Queues a login request until after an OnCTIConnection has been received.

Parameters:
parameters The login parameters.

void CCTIUserInterface::SanitizeDN ( PARAM_MAP & parameters ) [virtual]

Sanitizes the dialed number by stripping non-numeric characters from it and adding dial-out and dialing codes if necessary.

Parameters:
parameters A PARAM_MAP that should contain a parameter called KEY_DN.

MSXML2::IXMLDOMDocumentFragmentPtr CCTIUserInterface::SerializeToXML ( MSXML2::IXMLDOMDocumentPtr pXMLDoc ) [virtual]

Serializes this user interface and all its visible children to XML.

Parameters:
pXMLDoc The XML document
Returns:

Reimplemented from CCTIObject.

void CCTIUserInterface::SetAllowDialpadForAllLines ( bool bAllowDialpad ) [virtual]

Sets the dialpad to be allowed or disallowed for all lines.

Parameters:
bAllowDialpad True if the dialpad should be allowed for all lines.

virtual void CCTIUserInterface::SetAutoLogin ( bool bAutoLogin ) [inline, virtual]

Sets whether the current user will autologin.

Parameters:
bAutoLogin true if the user should autologin.

virtual void CCTIUserInterface::SetAutoReconnect ( bool bAutoReconnect ) [inline, virtual]

Sets whether we should automatically reconnect on connection closed or failure.

Parameters:
bAutoReconnect True if we should automatically reconnect on connection closed or failure.

void CCTIUserInterface::SetChildrenVisible | ( | bool | bAgentsVisible,
 |  | bool | bLinesVisible,
 |  | bool | bReasonCodesVisible,
 |  | bool | bCallLogsVisible
 | ) | [virtual]

Sets the visibility of the children of this user interface.

Parameters:
bAgentsVisible | True if the agent state should be visible, false otherwise.
bLinesVisible | True if the lines should be visible, false otherwise.
bReasonCodesVisible | True if the reason codes should be visible, false otherwise.
bCallLogsVisible | True if the call logs should be visible, false otherwise.

virtual void CCTIUserInterface::SetConnected ( bool bConnected ) [inline, virtual]

Sets the flag that indicates whether the adapter is connected to the CTI server.

Parameters:
bConnected True if the adapter is connected to the CTI server.

virtual void CCTIUserInterface::SetCurrentUserName ( std::wstring sUserName ) [inline, virtual]

Sets the name (as recorded in Salesforce.com) of the currently logged-in user.

Parameters:
sUserName The name of the currently logged-in user.

virtual void CCTIUserInterface::SetDialOutCode ( std::wstring sDialOutCode ) [inline, virtual]

Sets the dial out code, which is the sequence of digits that allows the phone to dial outside the local switch.

Parameters:
sDialOutCode The dial out code (like KEY_9).

virtual void CCTIUserInterface::SetDomesticDialCode ( std::wstring sDomesticDialCode ) [inline, virtual]

Sets the domestic dial code, which is the sequence of digits that allows the phone to dial a domestic long distance number.

Parameters:
sDomesticDialCode The domestic dial code (like KEY_9).

void CCTIUserInterface::SetExtension ( std::wstring & sExtension ) [virtual]

Sets the extension number associated with this agent.

Parameters:
sExtension The extension number associated with this line.

virtual void CCTIUserInterface::SetInfoFieldLabel | ( | std::wstring | sId,
 |  | std::wstring | sLabel
 | ) | [inline, virtual]

Sets a label associated with the input info field ID.

Parameters:
sId | The info field ID.
sLabel | The info field label.

virtual void CCTIUserInterface::SetInternationalDialCode ( std::wstring sInternationalDialCode ) [inline, virtual]

Sets the international dial code, which is the sequence of digits that allows the phone to dial a international long distance number.

Parameters:
sInternationalDialCode The International dial code (like KEY_9).

virtual void CCTIUserInterface::SetLastEndedCallId ( std::wstring sCallId ) [inline, virtual]

Sets the call object ID of the last ended call. This should be called prior to going to wrap-up mode.

Parameters:
sCallId The name of the currently logged-in user.

virtual void CCTIUserInterface::SetLastTransferredCallId ( std::wstring sCallId ) [inline, virtual]

Sets the call object ID of the last transferred call. If a transfer occurs, this should be called prior to going to wrap-up mode.

Parameters:
sCallId

void CCTIUserInterface::SetLoggedIn ( bool bLoggedIn ) [virtual]

Sets the flag that indicates whether the agent is logged in to the CTI server.

Parameters:
bLoggedIn True if the agent is logged in to the CTI server.

virtual void CCTIUserInterface::SetLogoImageUrl ( std::wstring sImageUrl ) [inline, virtual]

Sets the URL of the image that should be shown in the logo section of the UI. The image should be exactly 116x31 (WxH) pixels.

Parameters:
sImageUrl The URL of the image.

void CCTIUserInterface::SetLogoutReasonCodes ( PARAM_MAP & mapReasonCodes ) [virtual]

Sets the codes that will be shown when the logout reason codes are visible.

Parameters:
mapReasonCodes Map containing the logout reason codes. Keys of the map are the code keys, and values are the code descriptions.

virtual void CCTIUserInterface::SetLogoutReasonRequired ( bool bRequired ) [inline, virtual]

Sets the flag indicating whether logout reason codes are required.

Parameters:
bRequired True if a reason code is required to log out.

void CCTIUserInterface::SetNotReadyReasonCodes ( PARAM_MAP & mapReasonCodes ) [virtual]

Sets the codes that will be shown when the not ready reason codes are visible.

Parameters:
mapReasonCodes Map containing the not ready reason codes. Keys of the map are the code keys, and values are the code descriptions.

virtual void CCTIUserInterface::SetNotReadyReasonRequired ( bool bRequired ) [inline, virtual]

Sets the flag indicating whether not ready reason codes are required.

Parameters:
bRequired True if a reason code is required to go not ready.

virtual void CCTIUserInterface::SetOneStepConferenceEnabled ( bool bEnable ) [inline, virtual]

Shows or hides the "One-Step Conference" button when the user begins a conference operation. This method can be set at any time and will be "remembered" for all future dialpads during this agent's session.

Parameters:
bEnable True if "One-Step Conference" should be available.

virtual void CCTIUserInterface::SetOneStepTransferEnabled ( bool bEnable ) [inline, virtual]

Shows or hides the "One-Step Transfer" button when the user begins a transfer operation. This method can be set at any time and will be "remembered" for all future dialpads during this agent's session.

Parameters:
bEnable True if "One-Step Transfer" should be available.

void CCTIUserInterface::SetPartyANI | ( | CCTIParty * | pParty,
 |  | std::wstring | sANI
 | ) | [virtual]

Sets the ANI of a party and updates it in the ANI-to-party map. This method should be called if a party's ANI changes after the OnCallRinging message (if, for example, the ANI was not available at the time OnCallRinging was called).

Parameters:
pParty | The party to change.
sANI | The ANI to set in the party.

virtual void CCTIUserInterface::SetShowWrapupSaveButton ( bool bShowWrapupSaveButton ) [inline, virtual]

Sets the flag indicating whether a save button is rendered with wrapup codes.

Parameters:
bRequired True if a save button is rendered with wrapup codes.

virtual void CCTIUserInterface::SetUseAsynchronousSearch ( bool bUseAsynchronousSearch ) [inline, virtual]

Sets the flag that indicates whether searches should be performed asynchronously.

Parameters:
bUseAsynchronousSearch True if searches should be performed asynchronously.

void CCTIUserInterface::SetUserParametersMap ( PARAM_MAP & mapSource ) [inline]

Makes this UI's map of user parameters identical to the input source map.

Parameters:
mapSource The source map.

virtual void CCTIUserInterface::SetWrapupCodeRequired ( bool bRequired ) [inline, virtual]

Sets the flag indicating whether a wrapup code is required.

If a wrapup code is not required and the agent state is set to AGENTSTATE_WRAPUP, then the wrapup codes will be rendered with an extra code, "None", which will not set any wrapup data.

Parameters:
bRequired True if a wrapup code is required.

void CCTIUserInterface::SetWrapupReasonCodes ( PARAM_MAP & mapReasonCodes ) [virtual]

Sets the codes that will be shown when the wrapup codes are visible.

Parameters:
mapReasonCodes Map containing the wrapup codes. Keys of the map are the code keys, and values are the code descriptions.

void CCTIUserInterface::UIAddAgentState | ( | std::wstring | sId,
 |  | int | nOrder,
 |  | std::wstring | sLabel
 | ) | [virtual]

Adds an agent state to the CTIAgent object and immediately makes it invisible. It can be made visible later.

Parameters:
sId | The ID of the agent state.
nOrder | The order in which the agent state should be displayed.
sLabel | The label of the agent state.

void CCTIUserInterface::UIAddButtonToAllLines | ( | int | nButtonId,
 |  | CCTIButton * | pButton
 | ) | [virtual]

Takes the input button and makes copies of it for all lines. Note that the button object passed here is not disposed of by CCTIUserInterface; it is the responsibility of the caller to dispose of the button object input here.

Parameters:
nButtonId | The numeric ID of the button. Note that the button's ID also defines its position when shown. Buttons are shown according to ascending order of their IDs.
pButton | The button object. Note that the caller of this method should be sure to dispose of this button object after this call.

void CCTIUserInterface::UIAddLogObject ( PARAM_MAP & parameters ) [virtual]

Adds the object to all current call logs. This method will usually be called when a new Salesforce.com page is navigated to.

The parameters of this command should include at least KEY_ID, KEY_TYPE_NAME, and KEY_OBJECT_NAME, where KEY_ID is the ID of the object to be added, KEY_TYPE_NAME is the type name (like "Contact"), and KEY_OBJECT_NAME is the name of the object itself (like "Harry Williams").

Parameters:
parameters The parameters of the command.

void CCTIUserInterface::UIAddLogObjectByCallId | ( | std::wstring & | sCallObjectId,
 |  | std::wstring & | sId,
 |  | std::wstring & | sObjectLabel,
 |  | std::wstring & | sObjectName,
 |  | std::wstring & | sEntityName,
 |  | bool | bAttachToCall
 | ) | [virtual]

Adds the object to the call log referred to by the input call object ID (and selects it in the call log). This method is synchronized in such a way that multiple threads can use it to add objects to call logs without having to worry whether the call log has been deprecated or disposed of.

Parameters:
sCallObjectId | The call object ID.
sId | The ID of the Salesforce.com object to add to the call log.
sObjectLabel | The object label of the Salesforce.com object (like "Contact")
sObjectName | The object name of the Salesforce.com object (like "Harry Smith")
sEntityName | The name of the type in the API (like "Contact", or "Issue__c" for a custom object called "Issue")
bAttachToCall | True if this object should be attached to the call, false otherwise.

virtual void CCTIUserInterface::UIAllowAgentArea ( bool bAllowAgentStateArea ) [inline, virtual]

Sets whether the agent state area will be shown. If this method is called with a false parameter, then the agent state area will not be shown until this method is again called with true.

Parameters:
bAllowAgentStateArea True if the agent state should be allowed to be shown, false if it should never be shown.

void CCTIUserInterface::UICancelEditCallLog ( PARAM_MAP & parameters ) [virtual]

Turns off edit mode on a call log in the previous calls area without saving its contents to Salesforce.com.

The parameters of this command should include at least KEY_CALL_OBJECT_ID, which should be the call object ID for a call log in the previous calls area.

Parameters:
parameters The parameters of the command.

void CCTIUserInterface::UIClearCallLogs ( ) [virtual]

Clears all current and previous call log objects, freeing their memory.

void CCTIUserInterface::UIEditCallLog ( PARAM_MAP & parameters ) [virtual]

Turns on edit mode on a call log in the previous calls area.

The parameters of this command should include at least KEY_CALL_OBJECT_ID, which should be the call object ID for a call log in the previous calls area.

Parameters:
parameters The parameters of the command.

void CCTIUserInterface::UIHandleMessage | ( | std::wstring & | message,
 |  | PARAM_MAP & | parameters
 | ) | [virtual]

This method handles messages that are incoming from the browser controller. It should be overridden by subclasses to handle messages that don't correspond to default commands.

Parameters:
message | The specific message that was called (DIAL, LOGIN, etc.)
parameters | The parameters that were specified in the call (say, on the query string)

void CCTIUserInterface::UIHideDialpad | ( | int | nLineNumber,
 |  | int | nDialpadType,
 |  | bool | bUpdateXML
 | ) | [virtual]

This command hides the dialpad of the input type on a line. Subclasses generally will not need to override this method, as it does not perform any actual CTI actions.

Parameters:
nLineNumber | The line number on which to show the dialpad.
nDialpadType | Must be one of DIALPAD_ALL (to hide any dialpad currently showing), DIALPAD_DIAL, DIALPAD_TRANSFER, or DIALPAD_CONFERENCE.
bUpdateXML | Should be true if this command should immediately update the user interface.

void CCTIUserInterface::UIHideLineStatusBars ( ) [virtual]

Hides the line status bar on all lines.

void CCTIUserInterface::UIHideProgressBar ( ) [virtual]

Hides the progress bar.

void CCTIUserInterface::UIHideStatusBar ( ) [virtual]

Hides the status bar.

void CCTIUserInterface::UIMakePreviousCallLogCurrent ( CCTICallLog * pLog ) [virtual]

Takes the specified call log out of previous calls and restores it to current status.

Parameters:
pLog The call log to make current.

void CCTIUserInterface::UIMoveCallLogToPreviousCalls | ( | CCTICallLog * | pLog,
 |  | bool | bRemoveFromCurrentList = true
 | ) | [virtual]

Moves the current call log to the previous call logs section, first upserting its contents to Salesforce.com.

Parameters:
pLog | The call log to move to previous calls.
bRemoveFromCurrentList | (optional) True if this method should remove the call log from the list of current logs, false if it should not. Default is true.

void CCTIUserInterface::UIParseIncomingXMLMessage ( BSTR xmlMessage ) [virtual]

Parses XML-encoded input messages from the browser, retrieves the parameters therein, and routes the message to the proper command handler using the UIHandleMessage method.

Parameters:
xmlMessage The BString-encoded XML message.

void CCTIUserInterface::UIRefresh ( ) [virtual]

Serializes this user interface object and all its children to XML and sends it off to the adapter for inclusion in a COM event.

void CCTIUserInterface::UIRemoveButtonFromAllLines ( int nButtonId ) [virtual]

Removes the button with the specified numeric ID from all lines.

Parameters:
nButtonId The numeric ID of the buttons to remove.

void CCTIUserInterface::UISaveCallLog ( PARAM_MAP & parameters ) [virtual]

Turns off edit mode on a call log in the previous calls area and saves its contents to Salesforce.com.

The parameters of this command should include at least KEY_CALL_OBJECT_ID, which should be the call object ID for a call log in the previous calls area.

Parameters:
parameters The parameters of the command.

void CCTIUserInterface::UIShowDialpad | ( | int | nLineNumber,
 |  | int | nDialpadType,
 |  | bool | bUpdateXML
 | ) | [virtual]

This command shows the dialpad of the input type on a line, which can then be used to perform the operation specified in the dialpad type. Subclasses generally will not need to override this method, as it does not perform any actual CTI actions.

Parameters:
nLineNumber | The line number on which to show the dialpad.
nDialpadType | Must be one of DIALPAD_DIAL (for the "make a call" dialpad), DIALPAD_TRANSFER (for the transfer dialpad), or DIALPAD_CONFERENCE (for the conference dialpad)
bUpdateXML | Should be true if this command should immediately update the user interface.

void CCTIUserInterface::UIShowLogoutReasonCodes ( ) [virtual]

Shows the logout reason codes.

void CCTIUserInterface::UIShowNotReadyReasonCodes ( ) [virtual]

Shows the not ready reason codes.

void CCTIUserInterface::UIShowProgressBar | ( | std::wstring | sId,
 |  | std::wstring | sLabel = L""
 | ) | [virtual]

Shows a progress bar with the text associated with given ID or with the optional input label.

Parameters:
sId | The ID of the text to show with the progress bar.
sLabel | (optional) The text to show with the progress bar.

void CCTIUserInterface::UIShowReasonCodes | ( | PARAM_MAP & | mapReasonCodes,
 |  | std::wstring | sReasonCodeId
 | ) | [virtual]

Shows the reason codes that are supplied in the input map. A CTIReasonCodeSet with the codes from that map will be generated in the XML as a result of this method call.

Parameters:
mapReasonCodes | Map containing the reason codes. Keys of the map are the code keys, and values are the code descriptions.
sReasonCodeId | The reason code type ID. Must be one of REASON_CODE_WRAPUP, REASON_CODE_NOT_READY, or REASON_CODE_LOGOUT.

void CCTIUserInterface::UIShowStatusBar | ( | bool | bError,
 |  | std::wstring | sId,
 |  | std::wstring | sLabel = L""
 | ) | [virtual]

Shows a status bar with the text associated with given ID or with the optional input label.

Parameters:
bError | True if the status bar should display itself as an error message; false if it should be only informational.
sId | The ID of the text to show with the status bar.
sLabel | (optional) The text to show with the status bar.

void CCTIUserInterface::UIShowWrapupCodes ( ) [virtual]

Shows the wrapup codes.

void CCTIUserInterface::UIToggleTwisty ( PARAM_MAP & parameters ) [virtual]

Toggles the twisty to open or close a current call log or the previous calls area

The parameters of this command should include at least KEY_ID, which should be either a line number or KEY_PREVIOUS for the previous calls area.

Parameters:
parameters The parameters of the command.

void CCTIUserInterface::UIUpdateSavedCallLog | ( | std::wstring | sCallObjectId,
 |  | std::wstring | sId
 | ) | [virtual]

Updates a newly saved call log by setting its ID and refreshing the UI to reflect the fact that the log has been saved.

Parameters:
sCallObjectId | The call object ID of the call log to update.
sId | The ID of the Task object created for the call log.

void CCTIUserInterface::UIUpdateSid ( PARAM_MAP & parameters ) [virtual]

This method is called every time the browser refreshes its UI, either by a page refresh or due to an event. It updates the instance and Salesforce.com session ID information that is stored internally so that searches and other such AppExchange API accesses can be performed.

Subclasses probably do not need to override this command; but if they do, they should be sure to call this base class method first.

Parameters:
parameters A map that should contain at least two key-value pairs, one for KEY_SID and one for KEY_INSTANCE.

Member Data Documentation

bool CCTIUserInterface::m_bAllowAgentStateArea [protected]

Flag indicating whether the agent state area should be allowed to be shown.

bool CCTIUserInterface::m_bAutoLogin [protected]

Indicates whether the user is set to automatically log in.

bool CCTIUserInterface::m_bAutoReconnect [protected]

Flag indicating whether we should automatically reconnect on connection closed or failure.

bool CCTIUserInterface::m_bConnected [protected]

Indicates whether the user is connected.

bool CCTIUserInterface::m_bEnableOneStepConference [protected]

Flag indicating whether to allow one-step conference.

bool CCTIUserInterface::m_bEnableOneStepTransfer [protected]

Flag indicating whether to allow one-step transfer.

bool CCTIUserInterface::m_bLoggedIn [protected]

Indicates whether an agent is logged in.

bool CCTIUserInterface::m_bLogoutReasonRequired [protected]

Flag indicating whether a reason code is required when logging out.

bool CCTIUserInterface::m_bNotReadyReasonRequired [protected]

Flag indicating whether a reason code is required when going not ready.

bool CCTIUserInterface::m_bQueuedLogin [protected]

Flag indicating whether a login has been queued for the next OnCTIConnection event.

bool CCTIUserInterface::m_bQueuedLogout [protected]

Flag indicating whether a logout was queued, i.e. the user tried to log out from a ready state, so we force him to not ready first and then log out.

bool CCTIUserInterface::m_bShowWrapupSaveButton [protected]

Flag indicating whether a save button is rendered with wrapup codes.

bool CCTIUserInterface::m_bUseAsynchronousSearch [protected]

Flag indicating whether searches should be performed asynchronously.

bool CCTIUserInterface::m_bWrapupCodeRequired [protected]

Flag indicating whether a wrapup code is required. If it's not required, then a "None" option will be rendered when wrapup codes are shown.

CallLogList CCTIUserInterface::m_listCallLogs [protected]

A list of call logs for current calls.

LineList CCTIUserInterface::m_listLines [protected]

The list of lines.

CCTILogo CCTIUserInterface::m_logo [protected]

The object containing the logo to be shown at the bottom of the softphone.

AniPartyMap CCTIUserInterface::m_mapANIToParties [protected]

A map of ANIs to the party objects associated with them.

PARAM_MAP CCTIUserInterface::m_mapConnectionParams [protected]

Map of the most recent connection parameters that were used. Will be used to attempt a reconnect in case of connection failure.

PARAM_MAP CCTIUserInterface::m_mapInfoFieldLabels [protected]

A map of custom info field IDs to their labels.

PARAM_MAP CCTIUserInterface::m_mapLogoutReasonCodes [protected]

Map of logout reason code IDs to labels.

PARAM_MAP CCTIUserInterface::m_mapNotReadyReasonCodes [protected]

Map of not ready reason code IDs to labels.

PARAM_MAP CCTIUserInterface::m_mapQueuedMakeCall [protected]

The parameter map for a queued CallInitiate; that is, a CallInitiate that was issues when the user was in a ready state, so we forced him to not ready.

PARAM_MAP CCTIUserInterface::m_mapUserParams [protected]

Map of user parameters (e.g. login info) that have been associated with this user in the CustomSetup table.

PARAM_MAP CCTIUserInterface::m_mapWrapupReasonCodes [protected]

Map of not ready reason code IDs to labels.

int CCTIUserInterface::m_nNumberOfFixedLines [protected]

The number of lines this user interface will support (set at object creation).

CCTIAdapter* CCTIUserInterface::m_pAdapter [protected]

The "adapter" object that mediates between this CCTIUserInterface and the COM interface.

CCTIAppExchange* CCTIUserInterface::m_pAppExchange [protected]

The default AppExchange API communication object.

CCTIAgent* CCTIUserInterface::m_pCTIAgent [protected]

The agent object used to render the .

CCTIForm* CCTIUserInterface::m_pLoginForm [protected]

The form containing the controls (edit boxes, etc.) in which the user enters his login data.

CCTIPreviousCalls* CCTIUserInterface::m_pPreviousCalls [protected]

The object that holds call logs of previous calls.

CCTIReasonCodeSet* CCTIUserInterface::m_pReasonCodeSet [protected]

The reason codes object used to render wrap-up and reason codes when necessary.

CCTIProgressBar CCTIUserInterface::m_progressBar [protected]

The progress bar to be shown and hidden via UIShowProgressBar and UIHideProgressBar.

std::wstring CCTIUserInterface::m_sAgentState [protected]

The current agent state.

std::wstring CCTIUserInterface::m_sCurrentUserName [protected]

The name of the current user, populated by the CCTIAppExchange object when the SID is updated.

std::wstring CCTIUserInterface::m_sDialOutCode [protected]

The sequence of digits that allows the phone to dial outside the local switch.

std::wstring CCTIUserInterface::m_sDomesticDialCode [protected]

The sequence of digits that allows the phone to dial a domestic long distance number.

std::wstring CCTIUserInterface::m_sEntityName [protected]

If applicable, the entity name associated with the most recently dialed call.

std::wstring CCTIUserInterface::m_sExtension [protected]

The extension associated with this agent.

std::wstring CCTIUserInterface::m_sId [protected]

The Salesforce Id associated with the most recently dialed call.

std::wstring CCTIUserInterface::m_sInternationalDialCode [protected]

The sequence of digits that allows the phone to dial a international long distance number.

std::wstring CCTIUserInterface::m_sLastDN [protected]

The most recently dialed number.

std::wstring CCTIUserInterface::m_sLastEndedCallId [protected]

The call object ID of the last ended call.

std::wstring CCTIUserInterface::m_sLastTransferredCallId [protected]

The call object ID of the last transferred call.

CCTIStatic CCTIUserInterface::m_statusBar [protected]

The status bar to be shown and hidden via UIShowStatusBar and UIHideStatusBar. The status bar will be rendered above any other items in the softphone.

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

CCTIUserInterface Member List

This is the complete list of members for CCTIUserInterface, including all inherited members.

AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement) | CCTIObject | [virtual]
AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild) | CCTIObject | [virtual]
AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CallAlternate(PARAM_MAP &parameters) | CCTIUserInterface | [inline, virtual]
CallAnswer(PARAM_MAP &parameters) | CCTIUserInterface | [inline, virtual]
CallAttachData(std::wstring sCallObjectId, PARAM_MAP mapAttachedData) | CCTIUserInterface | [inline, virtual]
CallAttachSingleItem(std::wstring sCallObjectId, std::wstring sKey, std::wstring sValue) | CCTIUserInterface | [inline, virtual]
CallAttachUserInfo(int nLineNumber, int nUserInfoType) | CCTIUserInterface | [virtual]
CallChangeCallObjectId(const std::wstring &sOldCallObjectId, const std::wstring &sNewCallObjectId) | CCTIUserInterface | [virtual]
CallClickToDial(PARAM_MAP &parameters) | CCTIUserInterface | [virtual]
CallCompleteConference(PARAM_MAP &parameters) | CCTIUserInterface | [inline, virtual]
CallCompleteTransfer(PARAM_MAP &parameters) | CCTIUserInterface | [inline, virtual]
CallHold(PARAM_MAP &parameters) | CCTIUserInterface | [inline, virtual]
CallInitiate(PARAM_MAP &parameters) | CCTIUserInterface | [virtual]
CallInitiateConference(PARAM_MAP &parameters) | CCTIUserInterface | [virtual]
CallInitiateTransfer(PARAM_MAP &parameters) | CCTIUserInterface | [virtual]
CallOneStepConference(PARAM_MAP &parameters) | CCTIUserInterface | [virtual]
CallOneStepTransfer(PARAM_MAP &parameters) | CCTIUserInterface | [virtual]
CallRelease(PARAM_MAP &parameters) | CCTIUserInterface | [inline, virtual]
CallRetrieve(PARAM_MAP &parameters) | CCTIUserInterface | [inline, virtual]
CallSaveWrapup() | CCTIUserInterface | [virtual]
CallSelectLogObject(PARAM_MAP &parameters) | CCTIUserInterface | [virtual]
CallSetWrapupCode(PARAM_MAP &parameters) | CCTIUserInterface | [virtual]
CallUnattachData(std::wstring sCallObjectId, std::wstring sKey) | CCTIUserInterface | [inline, virtual]
CallUpdateComments(PARAM_MAP &parameters) | CCTIUserInterface | [virtual]
CallUpdateSubject(PARAM_MAP &parameters) | CCTIUserInterface | [virtual]
CCriticalSection() | CCriticalSection |
CCTIObject() (defined in CCTIObject) | CCTIObject |
CCTIUserInterface(CCTIAdapter *pAdapter, int nNumberOfFixedLines) | CCTIUserInterface |
CreateCallLog(int nLineNumber, std::wstring &sCallObjectId, int nCallType) | CCTIUserInterface | [protected, virtual]
CreateLoginForm() | CCTIUserInterface | [virtual]
CreateParty(std::wstring sANI, int nPartyType=0) | CCTIUserInterface | [protected, virtual]
CreateVirtualLine(std::wstring sCallObjectId) | CCTIUserInterface | [virtual]
CTIChangeAgentState(PARAM_MAP &parameters) | CCTIUserInterface | [inline, virtual]
CTIConnect(PARAM_MAP &parameters) | CCTIUserInterface | [virtual]
CTIDisconnect(PARAM_MAP &parameters) | CCTIUserInterface | [inline, virtual]
CTIIsOccupiedAgentState(std::wstring sAgentState) | CCTIUserInterface | [virtual]
CTILogin(PARAM_MAP &parameters) | CCTIUserInterface | [virtual]
CTILogout(PARAM_MAP &parameters) | CCTIUserInterface | [inline, virtual]
DestroyChildren() | CCTIUserInterface | [virtual]
DestroyParties() | CCTIUserInterface | [protected, virtual]
DestroyParty(CCTIParty *pParty) | CCTIUserInterface | [protected]
DestroyVirtualLine(CCTILine *pLine) | CCTIUserInterface | [virtual]
Enter() const | CCriticalSection | [virtual]
GetAllLinesOpen() | CCTIUserInterface | [virtual]
GetAppExchange() | CCTIUserInterface | [virtual]
GetAttribute(std::wstring sName) | CCTIObject | [virtual]
GetAutoLogin() | CCTIUserInterface | [inline, virtual]
GetAutoReconnect() | CCTIUserInterface | [inline, virtual]
GetCallLogForCallId(const std::wstring &sCallObjectId) | CCTIUserInterface |
GetCallLogForLine(int nLineNumber) | CCTIUserInterface | [virtual]
GetCallObjectIdFromLine(int nLineNumber) | CCTIUserInterface | [virtual]
GetConnected() | CCTIUserInterface | [inline, virtual]
GetCurrentAgentState() | CCTIUserInterface | [virtual]
GetCurrentUserName() | CCTIUserInterface | [inline, virtual]
GetDialOutCode() | CCTIUserInterface | [inline, virtual]
GetDomesticDialCode() | CCTIUserInterface | [inline, virtual]
GetExtension() | CCTIUserInterface | [inline, virtual]
GetInfoFieldLabel(std::wstring sId) | CCTIUserInterface | [inline, virtual]
GetInternationalDialCode() | CCTIUserInterface | [inline, virtual]
GetLastEndedCallId() | CCTIUserInterface | [inline, virtual]
GetLastTransferredCallId() | CCTIUserInterface | [inline, virtual]
GetLine(int nLineNumber) | CCTIUserInterface | [virtual]
GetLineByCallId(const std::wstring &sCallObjectId) | CCTIUserInterface | [virtual]
GetLoggedIn() | CCTIUserInterface | [inline, virtual]
GetLogoutReasonCodes() | CCTIUserInterface | [virtual]
GetLogoutReasonRequired() | CCTIUserInterface | [inline, virtual]
GetNextAvailableFixedLine() | CCTIUserInterface |
GetNotReadyReasonCodes() | CCTIUserInterface | [virtual]
GetNotReadyReasonRequired() | CCTIUserInterface | [inline, virtual]
GetNumberOfFixedLines() | CCTIUserInterface | [virtual]
GetNumberOfLines() | CCTIUserInterface | [virtual]
GetOneStepConferenceEnabled() | CCTIUserInterface | [inline, virtual]
GetOneStepTransferEnabled() | CCTIUserInterface | [inline, virtual]
GetPreviousCallLogs() | CCTIUserInterface | [inline, virtual]
GetShowWrapupSaveButton() | CCTIUserInterface | [inline, virtual]
GetTag() | CCTIObject | [inline, virtual]
GetUseAsynchronousSearch() | CCTIUserInterface | [inline, virtual]
GetVisible() | CCTIObject | [virtual]
GetWrapupCodeRequired() | CCTIUserInterface | [inline, virtual]
GetWrapupReasonCodes() | CCTIUserInterface | [virtual]
Initialize() | CCTIUserInterface | [virtual]
Leave() const | CCriticalSection | [virtual]
m_bAllowAgentStateArea | CCTIUserInterface | [protected]
m_bAutoLogin | CCTIUserInterface | [protected]
m_bAutoReconnect | CCTIUserInterface | [protected]
m_bConnected | CCTIUserInterface | [protected]
m_bEnableOneStepConference | CCTIUserInterface | [protected]
m_bEnableOneStepTransfer | CCTIUserInterface | [protected]
m_bLoggedIn | CCTIUserInterface | [protected]
m_bLogoutReasonRequired | CCTIUserInterface | [protected]
m_bNotReadyReasonRequired | CCTIUserInterface | [protected]
m_bQueuedLogin | CCTIUserInterface | [protected]
m_bQueuedLogout | CCTIUserInterface | [protected]
m_bShowWrapupSaveButton | CCTIUserInterface | [protected]
m_bUseAsynchronousSearch | CCTIUserInterface | [protected]
m_bVisible | CCTIObject | [protected]
m_bWrapupCodeRequired | CCTIUserInterface | [protected]
m_CS | CCriticalSection | [protected]
m_listCallLogs | CCTIUserInterface | [protected]
m_listLines | CCTIUserInterface | [protected]
m_logo | CCTIUserInterface | [protected]
m_mapANIToParties | CCTIUserInterface | [protected]
m_mapAttributes | CCTIObject | [protected]
m_mapConnectionParams | CCTIUserInterface | [protected]
m_mapInfoFieldLabels | CCTIUserInterface | [protected]
m_mapLogoutReasonCodes | CCTIUserInterface | [protected]
m_mapNotReadyReasonCodes | CCTIUserInterface | [protected]
m_mapQueuedMakeCall | CCTIUserInterface | [protected]
m_mapUserParams | CCTIUserInterface | [protected]
m_mapWrapupReasonCodes | CCTIUserInterface | [protected]
m_nNumberOfFixedLines | CCTIUserInterface | [protected]
m_pAdapter | CCTIUserInterface | [protected]
m_pAppExchange | CCTIUserInterface | [protected]
m_pCTIAgent | CCTIUserInterface | [protected]
m_pLoginForm | CCTIUserInterface | [protected]
m_pPreviousCalls | CCTIUserInterface | [protected]
m_pReasonCodeSet | CCTIUserInterface | [protected]
m_progressBar | CCTIUserInterface | [protected]
m_sAgentState | CCTIUserInterface | [protected]
m_sCurrentUserName | CCTIUserInterface | [protected]
m_sDialOutCode | CCTIUserInterface | [protected]
m_sDomesticDialCode | CCTIUserInterface | [protected]
m_sEntityName | CCTIUserInterface | [protected]
m_sExtension | CCTIUserInterface | [protected]
m_sId | CCTIUserInterface | [protected]
m_sInternationalDialCode | CCTIUserInterface | [protected]
m_sLastDN | CCTIUserInterface | [protected]
m_sLastEndedCallId | CCTIUserInterface | [protected]
m_sLastTransferredCallId | CCTIUserInterface | [protected]
m_statusBar | CCTIUserInterface | [protected]
OnAgentStateChange(std::wstring &sAgentState) | CCTIUserInterface | [virtual]
OnAgentStateEnablementChange(std::list< std::wstring > &listEnabledAgentStates, std::wstring &sAgentState) | CCTIUserInterface | [virtual]
OnButtonEnablementChange(std::list< int > &listEnabledButtons, bool bSendUpdatedXML=true) | CCTIUserInterface | [virtual]
OnButtonEnablementChange(int nLine, std::list< int > &listEnabledButtons, bool bSendUpdatedXML=true) | CCTIUserInterface | [virtual]
OnCallAttemptFailed(std::wstring sErrorMessageId, std::wstring sErrorMessage, std::wstring sCallObjectId=L"", int nLine=0) | CCTIUserInterface | [virtual]
OnCallConferenced(std::wstring sCallObjectId, StringList listParties) | CCTIUserInterface | [virtual]
OnCallDialing(std::wstring sCallObjectId, PARAM_MAP &mapInfoFields, bool bPerformSearch, bool bLogCall, int nLineNumber=NULL, int nCallType=CALLTYPE_OUTBOUND) | CCTIUserInterface | [virtual]
OnCallEnd(std::wstring sCallObjectId, bool bMoveCallLogToPrevious=true) | CCTIUserInterface | [virtual]
OnCallEstablished(std::wstring sCallObjectId) | CCTIUserInterface | [virtual]
OnCallHeld(std::wstring sCallObjectId) | CCTIUserInterface | [virtual]
OnCallPartyDropped(std::wstring &sCallObjectId, std::wstring &sANI) | CCTIUserInterface | [virtual]
OnCallRetrieved(std::wstring sCallObjectId) | CCTIUserInterface | [virtual]
OnCallRinging(std::wstring sCallObjectId, int nCallType, bool bPerformSearch, bool bLogCall, PARAM_MAP &mapInfoFields, PARAM_MAP &mapAttachedData, int nLineNumber=NULL) | CCTIUserInterface | [virtual]
OnCallTransferred(std::wstring sCallObjectId) | CCTIUserInterface | [virtual]
OnCTIConnection() | CCTIUserInterface | [virtual]
OnCTIConnectionClosed() | CCTIUserInterface | [virtual]
OnCTIConnectionFailed(std::wstring sErrorMessage=L"") | CCTIUserInterface | [virtual]
QueueCallInitiate(PARAM_MAP &parameters) | CCTIUserInterface | [virtual]
QueueCTIChangeAgentState(PARAM_MAP &parameters) | CCTIUserInterface | [virtual]
QueueCTILogin(PARAM_MAP &parameters) | CCTIUserInterface | [virtual]
RemoveAttribute(std::wstring sName) | CCTIObject | [virtual]
SanitizeDN(PARAM_MAP &parameters) | CCTIUserInterface | [virtual]
SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc) | CCTIUserInterface | [virtual]
SetAllowDialpadForAllLines(bool bAllowDialpad) | CCTIUserInterface | [virtual]
SetAttribute(std::wstring sName, std::wstring sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, const wchar_t *sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, bool bValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, int nValue) | CCTIObject | [virtual]
SetAutoLogin(bool bAutoLogin) | CCTIUserInterface | [inline, virtual]
SetAutoReconnect(bool bAutoReconnect) | CCTIUserInterface | [inline, virtual]
SetChildrenVisible(bool bAgentsVisible, bool bLinesVisible, bool bReasonCodesVisible, bool bCallLogsVisible) | CCTIUserInterface | [virtual]
SetConnected(bool bConnected) | CCTIUserInterface | [inline, virtual]
SetCurrentUserName(std::wstring sUserName) | CCTIUserInterface | [inline, virtual]
SetDialOutCode(std::wstring sDialOutCode) | CCTIUserInterface | [inline, virtual]
SetDomesticDialCode(std::wstring sDomesticDialCode) | CCTIUserInterface | [inline, virtual]
SetExtension(std::wstring &sExtension) | CCTIUserInterface | [virtual]
SetInfoFieldLabel(std::wstring sId, std::wstring sLabel) | CCTIUserInterface | [inline, virtual]
SetInternationalDialCode(std::wstring sInternationalDialCode) | CCTIUserInterface | [inline, virtual]
SetLastEndedCallId(std::wstring sCallId) | CCTIUserInterface | [inline, virtual]
SetLastTransferredCallId(std::wstring sCallId) | CCTIUserInterface | [inline, virtual]
SetLoggedIn(bool bLoggedIn) | CCTIUserInterface | [virtual]
SetLogoImageUrl(std::wstring sImageUrl) | CCTIUserInterface | [inline, virtual]
SetLogoutReasonCodes(PARAM_MAP &mapReasonCodes) | CCTIUserInterface | [virtual]
SetLogoutReasonRequired(bool bRequired) | CCTIUserInterface | [inline, virtual]
SetNotReadyReasonCodes(PARAM_MAP &mapReasonCodes) | CCTIUserInterface | [virtual]
SetNotReadyReasonRequired(bool bRequired) | CCTIUserInterface | [inline, virtual]
SetOneStepConferenceEnabled(bool bEnable) | CCTIUserInterface | [inline, virtual]
SetOneStepTransferEnabled(bool bEnable) | CCTIUserInterface | [inline, virtual]
SetPartyANI(CCTIParty *pParty, std::wstring sANI) | CCTIUserInterface | [virtual]
SetShowWrapupSaveButton(bool bShowWrapupSaveButton) | CCTIUserInterface | [inline, virtual]
SetUseAsynchronousSearch(bool bUseAsynchronousSearch) | CCTIUserInterface | [inline, virtual]
SetUserParametersMap(PARAM_MAP &mapSource) | CCTIUserInterface | [inline]
SetVisible(bool bVisible) | CCTIObject | [virtual]
SetWrapupCodeRequired(bool bRequired) | CCTIUserInterface | [inline, virtual]
SetWrapupReasonCodes(PARAM_MAP &mapReasonCodes) | CCTIUserInterface | [virtual]
UIAddAgentState(std::wstring sId, int nOrder, std::wstring sLabel) | CCTIUserInterface | [virtual]
UIAddButtonToAllLines(int nButtonId, CCTIButton *pButton) | CCTIUserInterface | [virtual]
UIAddLogObject(PARAM_MAP &parameters) | CCTIUserInterface | [virtual]
UIAddLogObjectByCallId(std::wstring &sCallObjectId, std::wstring &sId, std::wstring &sObjectLabel, std::wstring &sObjectName, std::wstring &sEntityName, bool bAttachToCall) | CCTIUserInterface | [virtual]
UIAllowAgentArea(bool bAllowAgentStateArea) | CCTIUserInterface | [inline, virtual]
UICancelEditCallLog(PARAM_MAP &parameters) | CCTIUserInterface | [virtual]
UIClearCallLogs() | CCTIUserInterface | [virtual]
UIEditCallLog(PARAM_MAP &parameters) | CCTIUserInterface | [virtual]
UIHandleMessage(std::wstring &message, PARAM_MAP &parameters) | CCTIUserInterface | [virtual]
UIHideDialpad(int nLineNumber, int nDialpadType, bool bUpdateXML) | CCTIUserInterface | [virtual]
UIHideLineStatusBars() | CCTIUserInterface | [virtual]
UIHideProgressBar() | CCTIUserInterface | [virtual]
UIHideStatusBar() | CCTIUserInterface | [virtual]
UIMakePreviousCallLogCurrent(CCTICallLog *pLog) | CCTIUserInterface | [virtual]
UIMoveCallLogToPreviousCalls(CCTICallLog *pLog, bool bRemoveFromCurrentList=true) | CCTIUserInterface | [virtual]
UIParseIncomingXMLMessage(BSTR xmlMessage) | CCTIUserInterface | [virtual]
UIRefresh() | CCTIUserInterface | [virtual]
UIRemoveButtonFromAllLines(int nButtonId) | CCTIUserInterface | [virtual]
UISaveCallLog(PARAM_MAP &parameters) | CCTIUserInterface | [virtual]
UIShowDialpad(int nLineNumber, int nDialpadType, bool bUpdateXML) | CCTIUserInterface | [virtual]
UIShowLogoutReasonCodes() | CCTIUserInterface | [virtual]
UIShowNotReadyReasonCodes() | CCTIUserInterface | [virtual]
UIShowProgressBar(std::wstring sId, std::wstring sLabel=L"") | CCTIUserInterface | [virtual]
UIShowReasonCodes(PARAM_MAP &mapReasonCodes, std::wstring sReasonCodeId) | CCTIUserInterface | [virtual]
UIShowStatusBar(bool bError, std::wstring sId, std::wstring sLabel=L"") | CCTIUserInterface | [virtual]
UIShowWrapupCodes() | CCTIUserInterface | [virtual]
UIToggleTwisty(PARAM_MAP &parameters) | CCTIUserInterface | [virtual]
UIUpdateSavedCallLog(std::wstring sCallObjectId, std::wstring sId) | CCTIUserInterface | [virtual]
UIUpdateSid(PARAM_MAP &parameters) | CCTIUserInterface | [virtual]
~CCriticalSection() | CCriticalSection |
~CCTIObject() (defined in CCTIObject) | CCTIObject | [virtual]
~CCTIUserInterface(void) (defined in CCTIUserInterface) | CCTIUserInterface |
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]

Generated on Fri Sep 7 09:25:45 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CCTIUtils Class Reference

CCTIUtils Class Reference

#include <CTIUtils.h>

List of all members.

Static Public Member Functions

static std::wstring | VariantToString (VARIANT &variant)
static _variant_t | StringToVariant (const std::wstring &str)
static std::wstring | BSTRToString (const _bstr_t bString)
static _bstr_t | StringToBSTR (const std::wstring &str)
static std::wstring | ToUpperCase (const std::wstring &str)
static std::wstring | IntToString (int nNumber)
static int | StringToInt (std::wstring sNumber)
static std::wstring | SearchAndReplace (const std::wstring &p_target, const std::wstring &p_search, const std::wstring &p_replace)
static std::wstring | BytesToHexString (BYTE *pBuf, UINT nLength)
static void | HexStringToBytes (std::wstring hexString, BYTE *pBuf, UINT nNumBytes)
static std::wstring | GetStrippedPhoneNumber (std::wstring &sOriginal, bool bStripStarAndHash=true)
static bool | StringBeginsWith (std::wstring &sBase, std::wstring &sPrefix)
static bool | StringBeginsWith (std::wstring &sBase, wchar_t *sPrefix)
static bool | StringEndsWith (std::wstring &sBase, std::wstring &sPostfix)
static int | Split (const std::wstring &sSource, const std::wstring &sDelimiter, StringList &listOutput, std::wstring::size_type nInitialOffset=0)
static std::wstring | ReverseString (const std::wstring &sInput)

Detailed Description

A utility class containing methods for conversions to and from COM data types and other such convenience methods

Version:
1.0

Member Function Documentation

static std::wstring CCTIUtils::BSTRToString ( const _bstr_t bString ) [inline, static]

Converts a BSTR (or _bstr_t) to a std::wstring.

Parameters:
bString The BSTR to convert.
Returns:
An std::wstring containing the contents of the BSTR.

static std::wstring CCTIUtils::BytesToHexString | ( | BYTE * | pBuf,
 |  | UINT | nLength
 | ) | [inline, static]

Converts a byte array to a hexadecimal string format. The resulting string will have 2 x (length of byte array) characters.

Parameters:
pBuf | The byte array to read
nLength | The length of the byte array
Returns:
A string representing the byte array.

static std::wstring CCTIUtils::GetStrippedPhoneNumber | ( | std::wstring & | sOriginal,
 |  | bool | bStripStarAndHash = true
 | ) | [inline, static]

Returns the input phone number stripped of all punctuation except # and * (unless otherwise specified).

Parameters:
sOriginal | The orignal phone number.
bStripStarAndHash | True if this method should also strip # and * from the number.
Returns:
The stripped phone number.

static void CCTIUtils::HexStringToBytes | ( | std::wstring | hexString,
 |  | BYTE * | pBuf,
 |  | UINT | nNumBytes
 | ) | [inline, static]

Converts a hexadecimal string to a byte array. The string must have an even number of characters.

Parameters:
hexString | The hex string to convert.
pBuf | The destination buffer.
nNumBytes | The number of bytes the destination buffer can contain.

static std::wstring CCTIUtils::IntToString ( int nNumber ) [inline, static]

Converts an integer to a std::wstring.

Parameters:
nNumber The integer to convert.
Returns:
An std::wstring containing the integer.

static std::wstring CCTIUtils::ReverseString ( const std::wstring & sInput ) [inline, static]

Returns a new string containing the reverse of the input string.

Parameters:
sInput The input string (which is not altered).
Returns:
The reverse of the input string.

static std::wstring CCTIUtils::SearchAndReplace | ( | const std::wstring & | p_target,
 |  | const std::wstring & | p_search,
 |  | const std::wstring & | p_replace
 | ) | [inline, static]

Searches for a target in a search string and replaces it with the given string.

Parameters:
p_target | The target to search for.
p_search | The string to search for the target in.
p_replace | The replacement string.
Returns:
A new string which is a copy of the old string where all the occurrences of the target have been replaced by the replacement string.

static int CCTIUtils::Split | ( | const std::wstring & | sSource,
 |  | const std::wstring & | sDelimiter,
 |  | StringList & | listOutput,
 |  | std::wstring::size_type | nInitialOffset = 0
 | ) | [inline, static]

Splits a string where it contains the delimiter and returns separate strings in the output list

Parameters:
sSource | The source string to split. This string will remain unchanged.
sDelimiter | The delimiter on which to split.
listOutput | The list into which the split strings will be output.
nInitialOffset | (optional) The offset of the string to start splitting at. Any characters prior to this offset will be ignored and not output as part of the split strings.
Returns:
The number of strings returned in the output array

static bool CCTIUtils::StringBeginsWith | ( | std::wstring & | sBase,
 |  | wchar_t * | sPrefix
 | ) | [inline, static]

Returns true if the base string begins with the prefix string, false otherwise. For instance, if the base string were KEY_914155551212, calling this method with the prefix of KEY_91 would return true.

Parameters:
sBase | The base string.
sPrefix | The prefix string.
Returns:
True if the base string begins with the prefix string.

static bool CCTIUtils::StringBeginsWith | ( | std::wstring & | sBase,
 |  | std::wstring & | sPrefix
 | ) | [inline, static]

Returns true if the base string begins with the prefix string, false otherwise. For instance, if the base string were KEY_914155551212, calling this method with the prefix of KEY_91 would return true.

Parameters:
sBase | The base string.
sPrefix | The prefix string.
Returns:
True if the base string begins with the prefix string.

static bool CCTIUtils::StringEndsWith | ( | std::wstring & | sBase,
 |  | std::wstring & | sPostfix
 | ) | [inline, static]

Returns true if the base string ends with the postfix string, false otherwise. For instance, if the base string were KEY_914155551212, calling this method with the postfix of KEY_12 would return true.

Parameters:
sBase | The base string.
sPrefix | The prefix string.
Returns:
True if the base string ends with the postfix string.

static _bstr_t CCTIUtils::StringToBSTR ( const std::wstring & str ) [inline, static]

Converts an std::wstring to a _bstr_t, which can be used anywhere a BSTR is needed.

Parameters:
str The std::wstring to convert.
Returns:
A _bstr_t containing the contents of the string.

static int CCTIUtils::StringToInt ( std::wstring sNumber ) [inline, static]

Converts an std::wstring to an integer.

Parameters:
sNumber The std::wstring to convert.
Returns:
An int containing the contents of the string (or the empty string if no int is found in the string).

static _variant_t CCTIUtils::StringToVariant ( const std::wstring & str ) [inline, static]

Converts an std::wstring to a _variant_t, which can be used anywhere a VARIANT is needed.

Parameters:
str The std::wstring to convert.
Returns:
A _variant_t containing the contents of the string.

static std::wstring CCTIUtils::ToUpperCase ( const std::wstring & str ) [inline, static]

Returns an upper case version of the input string.

Parameters:
str The string to upper-case.
Returns:
An upper case version of the input string.

static std::wstring CCTIUtils::VariantToString ( VARIANT & variant ) [inline, static]

Converts a VARIANT (or _variant_t) to a std::wstring.

Parameters:
vt The VARIANT to convert.
Returns:
An std::wstring containing the contents of the variant.

Generated on Fri Sep 7 09:25:46 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

CCTIUtils Member List

This is the complete list of members for CCTIUtils, including all inherited members.

BSTRToString(const _bstr_t bString) | CCTIUtils | [inline, static]
BytesToHexString(BYTE *pBuf, UINT nLength) | CCTIUtils | [inline, static]
CCTIUtils(void) (defined in CCTIUtils) | CCTIUtils |
GetStrippedPhoneNumber(std::wstring &sOriginal, bool bStripStarAndHash=true) | CCTIUtils | [inline, static]
HexStringToBytes(std::wstring hexString, BYTE *pBuf, UINT nNumBytes) | CCTIUtils | [inline, static]
IntToString(int nNumber) | CCTIUtils | [inline, static]
ReverseString(const std::wstring &sInput) | CCTIUtils | [inline, static]
SearchAndReplace(const std::wstring &p_target, const std::wstring &p_search, const std::wstring &p_replace) | CCTIUtils | [inline, static]
Split(const std::wstring &sSource, const std::wstring &sDelimiter, StringList &listOutput, std::wstring::size_type nInitialOffset=0) | CCTIUtils | [inline, static]
StringBeginsWith(std::wstring &sBase, std::wstring &sPrefix) | CCTIUtils | [inline, static]
StringBeginsWith(std::wstring &sBase, wchar_t *sPrefix) | CCTIUtils | [inline, static]
StringEndsWith(std::wstring &sBase, std::wstring &sPostfix) | CCTIUtils | [inline, static]
StringToBSTR(const std::wstring &str) | CCTIUtils | [inline, static]
StringToInt(std::wstring sNumber) | CCTIUtils | [inline, static]
StringToVariant(const std::wstring &str) | CCTIUtils | [inline, static]
ToUpperCase(const std::wstring &str) | CCTIUtils | [inline, static]
VariantToString(VARIANT &variant) | CCTIUtils | [inline, static]
~CCTIUtils(void) (defined in CCTIUtils) | CCTIUtils |

Generated on Fri Sep 7 09:25:46 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CCTIValueObject Class Reference

CCTIValueObject Class Reference

#include <CTIValueObject.h>

Inheritance diagram for CCTIValueObject:

CCTIIdLabelObject CCTIObject CCriticalSection ILockable CCTIEditBox CCTIField List of all members.

Public Member Functions

CCTIValueObject (std::wstring sId, std::wstring sLabel=L"")
virtual std::wstring | GetValue ()
virtual void | SetValue (std::wstring sValue)
virtual void | PopulateValueFromMap (PARAM_MAP &mapValues)

Detailed Description

Version:
1.0
This class encapsulates a CCTIObject that contains an ID, label, and value. It is a convenience class to allow for reuse of code across its subclasses.

Member Function Documentation

virtual std::wstring CCTIValueObject::GetValue ( ) [inline, virtual]

Gets the VALUE attribute of this object.

void CCTIValueObject::PopulateValueFromMap ( PARAM_MAP & mapValues ) [virtual]

Populates the value of this control from the input PARAM_MAP. The value of this control will be set to the corresponding value in the map where the map key matches this control's ID. If the map does not contain an entry for this control's ID, then the value of this control will be set to the empty string.

Parameters:
mapValues Map from which this control's value should be drawn.

virtual void CCTIValueObject::SetValue ( std::wstring sValue ) [inline, virtual]

Sets the VALUE attribute of this object.

Parameters:
sValue The value to set the VALUE attribute to.

Generated on Fri Sep 7 09:25:46 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

CCTIValueObject Member List

This is the complete list of members for CCTIValueObject, including all inherited members.

AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement) | CCTIObject | [virtual]
AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild) | CCTIObject | [virtual]
AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CCriticalSection() | CCriticalSection |
CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIIdLabelObject(std::wstring sId, std::wstring sLabel=L"") (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
CCTIObject() (defined in CCTIObject) | CCTIObject |
CCTIValueObject(std::wstring sId, std::wstring sLabel=L"") (defined in CCTIValueObject) | CCTIValueObject |
Enter() const | CCriticalSection | [virtual]
GetAttribute(std::wstring sName) | CCTIObject | [virtual]
GetId(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject |
GetLabel(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
GetTag() | CCTIObject | [inline, virtual]
GetValue() | CCTIValueObject | [inline, virtual]
GetVisible() | CCTIObject | [virtual]
Leave() const | CCriticalSection | [virtual]
m_bVisible | CCTIObject | [protected]
m_CS | CCriticalSection | [protected]
m_mapAttributes | CCTIObject | [protected]
PopulateValueFromMap(PARAM_MAP &mapValues) | CCTIValueObject | [virtual]
RemoveAttribute(std::wstring sName) | CCTIObject | [virtual]
SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, std::wstring sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, const wchar_t *sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, bool bValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, int nValue) | CCTIObject | [virtual]
SetId(std::wstring sId) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetLabel(std::wstring sLabel) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
SetValue(std::wstring sValue) | CCTIValueObject | [inline, virtual]
SetVisible(bool bVisible) | CCTIObject | [virtual]
~CCriticalSection() | CCriticalSection |
~CCTIIdLabelObject(void) (defined in CCTIIdLabelObject) | CCTIIdLabelObject | [virtual]
~CCTIObject() (defined in CCTIObject) | CCTIObject | [virtual]
~CCTIValueObject(void) (defined in CCTIValueObject) | CCTIValueObject |
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]

Generated on Fri Sep 7 09:25:46 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CCTIWhoWhat Class Reference

CCTIWhoWhat Class Reference

#include <CTICallLog.h>

Inheritance diagram for CCTIWhoWhat:

CCTIObject CCriticalSection ILockable List of all members.

Public Member Functions

CCTIWhoWhat (int nWhoOrWhat, std::wstring sId, std::wstring sObjectLabel, std::wstring sObjectName, std::wstring sEntityName)
virtual void | SetSelected (bool bSelected)
virtual bool | GetSelected ()
virtual std::wstring | GetObjectType ()
virtual _bstr_t | GetTag ()

Protected Attributes

bool | m_bSelected
int | m_nWhoOrWhat

Detailed Description

This is a convenience class that serves to hold data about a who or what entry in a call log.

Constructor & Destructor Documentation

CCTIWhoWhat::CCTIWhoWhat | ( | int | nWhoOrWhat,
 |  | std::wstring | sId,
 |  | std::wstring | sObjectLabel,
 |  | std::wstring | sObjectName,
 |  | std::wstring | sEntityName
 | ) |

Constructor for CCTIWhoWhat. All the string parameters are stored as attributes using SetAttribute.

Parameters:
nWhoOrWhat | Flag that indicates whether this object is a who or a what. Must be one of LOG_OBJECTTYPE_WHO or LOG_OBJECTTYPE_WHAT.
sId | The ID of the object.
sObjectLabel | The label of the object (like "Contact").
sObjectName | The name of the object (like "Harry Smith").
sEntityName | The name of the entity in the API (like "Contact", or "Issue__c" for a custom object called "Issue").

Member Function Documentation

virtual std::wstring CCTIWhoWhat::GetObjectType ( ) [inline, virtual]

Gets the entity name of this who/what.

Returns:
The entity name of this who/what.

virtual bool CCTIWhoWhat::GetSelected ( ) [inline, virtual]

Gets whether this who/what is currently selected.

Returns:
True if this who/what is currently selected.

virtual _bstr_t CCTIWhoWhat::GetTag ( ) [inline, virtual]

Returns the who tag if this object is a who, and the what tag if it's a what.

Returns:
This object's tag name when it's serialized to XML.

Reimplemented from CCTIObject.

void CCTIWhoWhat::SetSelected ( bool bSelected ) [virtual]

Sets whether this who/what is currently selected.

Parameters:
bSelected True if this who/what is currently selected.

Member Data Documentation

bool CCTIWhoWhat::m_bSelected [protected]

Flag indicating whether this who/what is currently selected.

int CCTIWhoWhat::m_nWhoOrWhat [protected]

Flag indicating whether this is a who or a what. Must be one of LOG_OBJECTTYPE_WHO or LOG_OBJECTTYPE_WHAT.

Generated on Fri Sep 7 09:25:46 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

CCTIWhoWhat Member List

This is the complete list of members for CCTIWhoWhat, including all inherited members.

AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement) | CCTIObject | [virtual]
AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject *pChild) | CCTIObject | [virtual]
AutoLock typedef (defined in CCriticalSection) | CCriticalSection |
CCriticalSection() | CCriticalSection |
CCTIObject() (defined in CCTIObject) | CCTIObject |
CCTIWhoWhat(int nWhoOrWhat, std::wstring sId, std::wstring sObjectLabel, std::wstring sObjectName, std::wstring sEntityName) | CCTIWhoWhat |
Enter() const | CCriticalSection | [virtual]
GetAttribute(std::wstring sName) | CCTIObject | [virtual]
GetObjectType() | CCTIWhoWhat | [inline, virtual]
GetSelected() | CCTIWhoWhat | [inline, virtual]
GetTag() | CCTIWhoWhat | [inline, virtual]
GetVisible() | CCTIObject | [virtual]
Leave() const | CCriticalSection | [virtual]
m_bSelected | CCTIWhoWhat | [protected]
m_bVisible | CCTIObject | [protected]
m_CS | CCriticalSection | [protected]
m_mapAttributes | CCTIObject | [protected]
m_nWhoOrWhat | CCTIWhoWhat | [protected]
RemoveAttribute(std::wstring sName) | CCTIObject | [virtual]
SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, std::wstring sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, const wchar_t *sValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, bool bValue) | CCTIObject | [virtual]
SetAttribute(std::wstring sName, int nValue) | CCTIObject | [virtual]
SetSelected(bool bSelected) | CCTIWhoWhat | [virtual]
SetVisible(bool bVisible) | CCTIObject | [virtual]
~CCriticalSection() | CCriticalSection |
~CCTIObject() (defined in CCTIObject) | CCTIObject | [virtual]
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]

Generated on Fri Sep 7 09:25:46 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CMutex Class Reference

CMutex Class Reference

#include <CriticalSection.h>

Inheritance diagram for CMutex:

ILockable List of all members.

Public Member Functions

CMutex (const wchar_t *name, BOOL initialOwner=FALSE)
void | Enter () const
void | Leave () const

Private Attributes

HANDLE | m_Mutex

Detailed Description

This class is a wrapper for the Win32 MUTEX object.

Member Function Documentation

void CMutex::Enter ( ) const [virtual]

Attempt to enter the critical section. If another thread is using the object, this function blocks until no other thread has the resource.

Implements ILockable.

void CMutex::Leave ( ) const [virtual]

Leave the critical section. Releases the shared resource.

Implements ILockable.

Generated on Fri Sep 7 09:25:46 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

CMutex Member List

This is the complete list of members for CMutex, including all inherited members.

CMutex(const wchar_t *name, BOOL initialOwner=FALSE) (defined in CMutex) | CMutex |
Enter() const | CMutex | [virtual]
Leave() const | CMutex | [virtual]
m_Mutex (defined in CMutex) | CMutex | [private]
~CMutex() (defined in CMutex) | CMutex |
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]

Generated on Fri Sep 7 09:25:46 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CSaveThreadInfo Class Reference

CSaveThreadInfo Class Reference

#include <CTIAppExchangeSaveThread.h>

List of all members.

Public Member Functions

CSaveThreadInfo (CCTIAppExchange *pAppExchange)
CSaveThreadInfo (CCTIAppExchange *pAppExchange, PARAM_MAP &parameters, HWND hHiddenWindow, CCTICallLog *m_pCallLog=NULL)
CSaveThreadInfo (CCTIUserInterface *pUI, std::wstring sCallObjectId, std::wstring sId)

Public Attributes

HWND | m_hHiddenWindow
CCTIUserInterface * m_pUI
std::wstring | m_sSid
std::wstring | m_sInstance
std::wstring | m_sUserId
std::wstring | m_sExtension
PARAM_MAP | m_parameters
std::wstring | m_sLogCallObjectId
std::wstring | m_sLogId
std::wstring | m_sLogLabel
std::wstring | m_sLogComments
std::wstring | m_sLogDisposition
int | m_nLogDuration
int | m_nLogCallType
std::wstring | m_sTaskCompletedStatus
std::wstring | m_sLogWhoId
std::wstring | m_sLogWhatId
bool | m_bLogDirty

Detailed Description

This class exists solely to provide information to CCTIAppExchangeSaveThread when commands are issued to its underlying thread. It generally does not need to be instantiated by classes other than CCTIAppExchangeSaveThread.

Version:
1.0

Constructor & Destructor Documentation

CSaveThreadInfo::CSaveThreadInfo | ( | CCTIUserInterface * | pUI,
 |  | std::wstring | sCallObjectId,
 |  | std::wstring | sId
 | ) |

This constructor is used when the save thread needs to pass information about the newly saved call log back to the main thread.

Parameters:
pUI | A pointer to the main user interface object.
sCallObjectId | The call object ID of the newly saved call log.
sId | The ID of the newly saved call log.

Member Data Documentation

bool CSaveThreadInfo::m_bLogDirty

The dirty flag of the call log.

HWND CSaveThreadInfo::m_hHiddenWindow

Handle to the hidden window which the save thread can use to communicate back to the main thread.

int CSaveThreadInfo::m_nLogCallType

The call type of the call log.

int CSaveThreadInfo::m_nLogDuration

The duration in seconds of the call log.

PARAM_MAP CSaveThreadInfo::m_parameters

A map of custom setup parameters to save (for the SaveUserParamsToCustomSetup method)

CCTIUserInterface* CSaveThreadInfo::m_pUI

Pointer to the main user interface object. Note that this pointer should never be accessed from the context of the save thread -- it should only be passed back to the hidden window processor.

std::wstring CSaveThreadInfo::m_sExtension

The extension of the current user (for the SaveUserExtension method).

std::wstring CSaveThreadInfo::m_sInstance

The instance to connect to.

std::wstring CSaveThreadInfo::m_sLogCallObjectId

The call object identifier from the call log.

std::wstring CSaveThreadInfo::m_sLogComments

The comments on the call log.

std::wstring CSaveThreadInfo::m_sLogDisposition

The call disposition of the call log.

std::wstring CSaveThreadInfo::m_sLogId

The Salesforce.com ID of the call log, if it has one.

std::wstring CSaveThreadInfo::m_sLogLabel

The label of the call log.

std::wstring CSaveThreadInfo::m_sLogWhatId

The what ID of the log.

std::wstring CSaveThreadInfo::m_sLogWhoId

The who ID of the log.

std::wstring CSaveThreadInfo::m_sSid

The current SID.

std::wstring CSaveThreadInfo::m_sTaskCompletedStatus

The "task completed" status.

std::wstring CSaveThreadInfo::m_sUserId

The current user ID.

Generated on Fri Sep 7 09:25:46 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

CSaveThreadInfo Member List

This is the complete list of members for CSaveThreadInfo, including all inherited members.

CSaveThreadInfo(CCTIAppExchange *pAppExchange) (defined in CSaveThreadInfo) | CSaveThreadInfo
CSaveThreadInfo(CCTIAppExchange *pAppExchange, PARAM_MAP &parameters, HWND hHiddenWindow, CCTICallLog *m_pCallLog=NULL) (defined in CSaveThreadInfo) | CSaveThreadInfo
CSaveThreadInfo(CCTIUserInterface *pUI, std::wstring sCallObjectId, std::wstring sId) | CSaveThreadInfo
m_bLogDirty | CSaveThreadInfo
m_hHiddenWindow | CSaveThreadInfo
m_nLogCallType | CSaveThreadInfo
m_nLogDuration | CSaveThreadInfo
m_parameters | CSaveThreadInfo
m_pUI | CSaveThreadInfo
m_sExtension | CSaveThreadInfo
m_sInstance | CSaveThreadInfo
m_sLogCallObjectId | CSaveThreadInfo
m_sLogComments | CSaveThreadInfo
m_sLogDisposition | CSaveThreadInfo
m_sLogId | CSaveThreadInfo
m_sLogLabel | CSaveThreadInfo
m_sLogWhatId | CSaveThreadInfo
m_sLogWhoId | CSaveThreadInfo
m_sSid | CSaveThreadInfo
m_sTaskCompletedStatus | CSaveThreadInfo
m_sUserId | CSaveThreadInfo

Generated on Fri Sep 7 09:25:46 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CSearchThreadInfo Class Reference

CSearchThreadInfo Class Reference

#include <CTIAppExchangeSearchThread.h>

List of all members.

Public Member Functions

CSearchThreadInfo (CSearchThreadInfo *pOriginalInfo, RelObjSetList &listRelObjSets)
CSearchThreadInfo (CSearchThreadInfo *pOriginalInfo, std::wstring sId, std::wstring sName, std::wstring sLabel, std::wstring sEntityName)
CSearchThreadInfo (CCTIAppExchange *pAppExchange, HWND hWnd, int nLayout, std::wstring sCallObjectId, std::wstring sPartyId, std::wstring sCallLogQueryWho, std::wstring sCallLogQueryWhat, BSTRList &listIVRQueries, _bstr_t bsANIQuery)

Public Attributes

std::wstring | m_sSid
std::wstring | m_sInstance
ObjectFieldMap | m_mapLayout
HWND | m_hWnd
std::wstring | m_sCallObjectId
std::wstring | m_sPartyId
std::wstring | m_sCallLogQueryWho
std::wstring | m_sCallLogQueryWhat
BSTRList | m_listIVRQueries
_bstr_t | m_bsANIQuery
CCTIUserInterface * | m_pUI
std::wstring | m_sLogId
std::wstring | m_sLogName
std::wstring | m_sLogLabel
std::wstring | m_sLogEntityName
RelObjSetList | m_listRelObjSets

Detailed Description

This class exists solely to provide information to CCTIAppExchangeSearchThread when commands are issued to its underlying thread and when commands are sent back from the thread to the hidden window. It generally does not need to be instantiated by classes other than CCTIAppExchangeSearchThread.

Version:
1.0

Generated on Fri Sep 7 09:25:46 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

CSearchThreadInfo Member List

This is the complete list of members for CSearchThreadInfo, including all inherited members.

CSearchThreadInfo(CSearchThreadInfo *pOriginalInfo, RelObjSetList &listRelObjSets) (defined in CSearchThreadInfo) | CSearchThreadInfo
CSearchThreadInfo(CSearchThreadInfo *pOriginalInfo, std::wstring sId, std::wstring sName, std::wstring sLabel, std::wstring sEntityName) (defined in CSearchThreadInfo) | CSearchThreadInfo
CSearchThreadInfo(CCTIAppExchange *pAppExchange, HWND hWnd, int nLayout, std::wstring sCallObjectId, std::wstring sPartyId, std::wstring sCallLogQueryWho, std::wstring sCallLogQueryWhat, BSTRList &listIVRQueries, _bstr_t bsANIQuery) (defined in CSearchThreadInfo) | CSearchThreadInfo
m_bsANIQuery (defined in CSearchThreadInfo) | CSearchThreadInfo
m_hWnd (defined in CSearchThreadInfo) | CSearchThreadInfo
m_listIVRQueries (defined in CSearchThreadInfo) | CSearchThreadInfo
m_listRelObjSets (defined in CSearchThreadInfo) | CSearchThreadInfo
m_mapLayout (defined in CSearchThreadInfo) | CSearchThreadInfo
m_pUI (defined in CSearchThreadInfo) | CSearchThreadInfo
m_sCallLogQueryWhat (defined in CSearchThreadInfo) | CSearchThreadInfo
m_sCallLogQueryWho (defined in CSearchThreadInfo) | CSearchThreadInfo
m_sCallObjectId (defined in CSearchThreadInfo) | CSearchThreadInfo
m_sInstance (defined in CSearchThreadInfo) | CSearchThreadInfo
m_sLogEntityName (defined in CSearchThreadInfo) | CSearchThreadInfo
m_sLogId (defined in CSearchThreadInfo) | CSearchThreadInfo
m_sLogLabel (defined in CSearchThreadInfo) | CSearchThreadInfo
m_sLogName (defined in CSearchThreadInfo) | CSearchThreadInfo
m_sPartyId (defined in CSearchThreadInfo) | CSearchThreadInfo
m_sSid (defined in CSearchThreadInfo) | CSearchThreadInfo

Generated on Fri Sep 7 09:25:46 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: ILockable Class Reference

ILockable Class Reference

#include <CriticalSection.h>

Inheritance diagram for ILockable:

CCriticalSection CMutex CCTILogger CCTIObject CCTIAgent CCTIDialpad CCTIForm CCTIIdLabelObject CCTILine CCTILogo CCTIPreviousCalls CCTIUserInterface CCTIWhoWhat List of all members.

Public Member Functions

virtual void | Enter () const =0
virtual void | Leave () const =0

Detailed Description

This class is the base interface for CCriticalSection and CMutex, the thread synchronization classes used across the Salesforce.com CTI library. Its methods are generally not called directly, but rather accessed via the "autolock" concept through LockImpl.

Member Function Documentation

virtual void ILockable::Enter ( ) const [pure virtual]

Enters a synchronized section of code.

Implemented in CCriticalSection, and CMutex.

virtual void ILockable::Leave ( ) const [pure virtual]

Leaves a synchronized section of code.

Implemented in CCriticalSection, and CMutex.

Generated on Fri Sep 7 09:25:46 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

ILockable Member List

This is the complete list of members for ILockable, including all inherited members.

Enter() const =0 | ILockable | [pure virtual]
Leave() const =0 | ILockable | [pure virtual]
~ILockable() (defined in ILockable) | ILockable | [inline, virtual]

Generated on Fri Sep 7 09:25:46 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: LockImpl< T > Class Template Reference

LockImpl< T > Class Template Reference

#include <CriticalSection.h>

List of all members.

Public Member Functions

LockImpl (const T *obj)
~LockImpl ()

Private Attributes

const T * m_Obj

Detailed Description

template<class T>
class LockImpl< T >

This is a resource grabber class that automatically locks the resource on construction and releases the resource on destruction.

To define the scope of the lock, use braces { }.

Constructor & Destructor Documentation

template<class T>
LockImpl< T >::LockImpl ( const T * obj ) [inline]

Acquire the resource.

template<class T>
LockImpl< T >::~LockImpl ( ) [inline]

Release the resource.

Generated on Fri Sep 7 09:25:46 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Member List

LockImpl< T > Member List

This is the complete list of members for LockImpl< T >, including all inherited members.

LockImpl(const T *obj) | LockImpl< T > | [inline]
m_Obj (defined in LockImpl< T >) | LockImpl< T > | [private]
~LockImpl() | LockImpl< T > | [inline]

Generated on Fri Sep 7 09:25:46 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Hierarchical Index

Salesforce.com CTI Integration Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:

  • CCTIAdapter
  • CCTIAppExchange
  • CCTIAppExchangeSaveThread
  • CCTIAppExchangeSearchThread
  • CCTIUtils
  • CSaveThreadInfo
  • CSearchThreadInfo
  • ILockable
    • CCriticalSection
      • CCTILogger
      • CCTIObject
        • CCTIAgent
        • CCTIDialpad
        • CCTIForm
        • CCTIIdLabelObject
          • CCTIButton
          • CCTICallLog
          • CCTICheckbox
          • CCTIProgressBar
          • CCTIReasonCodeSet
          • CCTIRelatedObject
          • CCTIRelatedObjectSet
          • CCTISelectableIdLabelObject
            • CCTIAgentState
          • CCTIStatic
          • CCTITimer
          • CCTIValueObject
            • CCTIEditBox
            • CCTIField
        • CCTILine
        • CCTILogo
        • CCTIPreviousCalls
        • CCTIUserInterface
        • CCTIWhoWhat
    • CMutex
  • LockImpl< T >


Salesforce.com CTI Integration: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- a -

  • AddAgentState() : CCTIAgent
  • AddAttributesToElement() : CCTIObject
  • AddButton() : CCTILine, CCTIForm
  • AddCallLog() : CCTIPreviousCalls
  • AddCheckbox() : CCTIForm
  • AddChild() : CCTIForm
  • AddChildIfVisible() : CCTIObject
  • AddDefaultButtons() : CCTILine
  • AddEditBox() : CCTIForm
  • AddField() : CCTIRelatedObject
  • AddFieldToMap() : CCTIAppExchange
  • AddInfoField() : CCTIForm
  • AddLogObject() : CCTIPreviousCalls
  • AddLongButton() : CCTILine
  • AddObject() : CCTICallLog
  • AddParty() : CCTILine
  • AddRelatedObject() : CCTIRelatedObjectSet
  • AddRelatedObjects() : CCTICallLog
  • AddShortButton() : CCTILine
  • AddSoftphoneLayoutItemsToMap() : CCTIAppExchange
  • AddStatic() : CCTIForm
  • AsyncSearch() : CCTIAppExchange
  • AttachLogObjectsToCall() : CCTICallLog


Salesforce.com CTI Integration: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- l -

  • Leave() : CMutex, CCriticalSection, ILockable
  • LoadLogInfoFromRegistry() : CCTILogger
  • LoadUserParamsFromCustomSetup() : CCTIAppExchange
  • LockImpl() : LockImpl< T >
  • Log() : CCTILogger


Salesforce.com CTI Integration: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- m -

  • m_bAllowAgentStateArea : CCTIUserInterface
  • m_bAllowAlternate : CCTILine
  • m_bAllowDialpad : CCTILine
  • m_bAutoLogin : CCTIUserInterface
  • m_bAutoReconnect : CCTIUserInterface
  • m_bCallIsActive : CCTICallLog
  • m_bCanCreateCallLogs : CCTIAppExchange
  • m_bConnected : CCTIUserInterface
  • m_bDirty : CCTICallLog
  • m_bEditMode : CCTICallLog
  • m_bEnableOneStepConference : CCTIUserInterface
  • m_bEnableOneStepTransfer : CCTIUserInterface
  • m_bExiting : CCTIAppExchangeSearchThread, CCTIAppExchangeSaveThread
  • m_bFixed : CCTILine
  • m_bLogDirty : CSaveThreadInfo
  • m_bLoggedIn : CCTIUserInterface
  • m_bLogoutReasonRequired : CCTIUserInterface
  • m_bNotReadyReasonRequired : CCTIUserInterface
  • m_bOpen : CCTIPreviousCalls, CCTICallLog
  • m_bPassword : CCTIEditBox
  • m_bPersonAccountsExist : CCTIAppExchange
  • m_bQueuedLogin : CCTIUserInterface
  • m_bQueuedLogout : CCTIUserInterface
  • m_bSaveOnEnd : CCTICallLog
  • m_bSelected : CCTIWhoWhat
  • m_bShowWrapupSaveButton : CCTIUserInterface
  • m_bUseAsynchronousSearch : CCTIUserInterface
  • m_bVisible : CCTIObject
  • m_bWrapupCodeRequired : CCTIUserInterface
  • m_CS : CCriticalSection
  • m_dialpad : CCTILine
  • m_dwThreadId : CCTIAppExchangeSearchThread, CCTIAppExchangeSaveThread
  • m_hHiddenWindow : CSaveThreadInfo
  • m_hWnd : CCTIAppExchangeSearchThread, CCTIAppExchangeSaveThread
  • m_listCallLogs : CCTIUserInterface, CCTIPreviousCalls
  • m_listChildren : CCTIForm
  • m_listFields : CCTIRelatedObject
  • m_listInboundInfoFields : CCTIAppExchange
  • m_listInternalInfoFields : CCTIAppExchange
  • m_listLines : CCTIUserInterface
  • m_listOutboundInfoFields : CCTIAppExchange
  • m_listParties : CCTILine
  • m_listRelatedObjects : CCTIRelatedObjectSet
  • m_logo : CCTIUserInterface
  • m_mapANIToParties : CCTIUserInterface
  • m_mapAttributes : CCTIObject
  • m_mapButtons : CCTILine
  • m_mapConnectionParams : CCTIUserInterface
  • m_mapInboundLayout : CCTIAppExchange
  • m_mapInfoFieldLabels : CCTIUserInterface
  • m_mapInternalLayout : CCTIAppExchange
  • m_mapLineCookies : CCTILine
  • m_mapLogoutReasonCodes : CCTIUserInterface
  • m_mapNameFields : CCTIAppExchange
  • m_mapNonquotedFields : CCTIAppExchange
  • m_mapNotReadyReasonCodes : CCTIUserInterface
  • m_mapObjectsToFields : CCTIAppExchange
  • m_mapOutboundLayout : CCTIAppExchange
  • m_mapQueuedMakeCall : CCTIUserInterface
  • m_mapReasonCodes : CCTIReasonCodeSet
  • m_mapRelatedObjects : CCTIRelatedObjectSet
  • m_mapUserParams : CCTIUserInterface
  • m_mapWhats : CCTICallLog
  • m_mapWhos : CCTICallLog
  • m_mapWrapupReasonCodes : CCTIUserInterface
  • m_nCallDuration : CCTICallLog
  • m_nCallType : CCTILine, CCTICallLog
  • m_nLineNumber : CCTILine, CCTICallLog
  • m_nLineState : CCTILine
  • m_nLogCallType : CSaveThreadInfo
  • m_nLogDuration : CSaveThreadInfo
  • m_nLogLevel : CCTILogger
  • m_nLogType : CCTILogger
  • m_nMaxLogFiles : CCTILogger
  • m_nMaxLogFileSize : CCTILogger
  • m_nNumberOfFixedLines : CCTIUserInterface
  • m_nWhoOrWhat : CCTIWhoWhat
  • m_pAdapter : CCTIUserInterface
  • m_pAppExchange : CCTIUserInterface, CCTIAppExchangeSearchThread, CCTIAppExchangeSaveThread
  • m_parameters : CSaveThreadInfo
  • m_pCallDuration : CCTILine
  • m_pCTIAgent : CCTIUserInterface
  • m_pHoldDuration : CCTILine
  • m_pLogFileStream : CCTILogger
  • m_pLoginForm : CCTIUserInterface
  • m_pPreviousCalls : CCTIUserInterface
  • m_pReasonCodeSet : CCTIUserInterface
  • m_progressBar : CCTIUserInterface
  • m_pSaveThread : CCTIAppExchange
  • m_pSearchThread : CCTIAppExchange
  • m_pSession : CCTIAppExchange
  • m_pUI : CCTILine, CCTICallLog, CSaveThreadInfo, CCTIAppExchange
  • m_sAgentState : CCTIUserInterface, CCTIAgent
  • m_sANI : CCTILine
  • m_sBrowserConnectorFilePath : CCTILogger
  • m_sCallDisposition : CCTICallLog
  • m_sCallObjectId : CCTILine, CCTICallLog
  • m_sComments : CCTICallLog
  • m_sCtiConnectorFilePath : CCTILogger
  • m_sCurrentUserName : CCTIUserInterface
  • m_sDialOutCode : CCTIUserInterface
  • m_sDomesticDialCode : CCTIUserInterface
  • m_sEntityName : CCTIUserInterface
  • m_sExtension : CCTIUserInterface, CSaveThreadInfo
  • m_sHiddenWindowClassName : CCTIAppExchangeSearchThread, CCTIAppExchangeSaveThread
  • m_sId : CCTIUserInterface
  • m_sInstance : CSaveThreadInfo, CCTIAppExchange
  • m_sInternationalDialCode : CCTIUserInterface
  • m_sLastDN : CCTIUserInterface
  • m_sLastEndedCallId : CCTIUserInterface
  • m_sLastTransferredCallId : CCTIUserInterface
  • m_sLogCallObjectId : CSaveThreadInfo
  • m_sLogComments : CSaveThreadInfo
  • m_sLogDisposition : CSaveThreadInfo
  • m_sLogId : CSaveThreadInfo
  • m_sLogLabel : CSaveThreadInfo
  • m_sLogWhatId : CSaveThreadInfo
  • m_sLogWhoId : CSaveThreadInfo
  • m_sName : CCTIRelatedObject
  • m_sOldComments : CCTICallLog
  • m_sOldLabel : CCTICallLog
  • m_sOldSelectedWhatId : CCTICallLog
  • m_sOldSelectedWhoId : CCTICallLog
  • m_sPluralLabel : CCTIRelatedObjectSet
  • m_sSelectedReasonCode : CCTIReasonCodeSet
  • m_sSelectedWhatId : CCTICallLog
  • m_sSelectedWhoId : CCTICallLog
  • m_sSid : CSaveThreadInfo, CCTIAppExchange
  • m_sSingularLabel : CCTIRelatedObjectSet
  • m_sTaskCompletedStatus : CSaveThreadInfo, CCTIAppExchange
  • m_sTaskSubject : CCTIAppExchange
  • m_statusBar : CCTIUserInterface
  • m_sUserId : CSaveThreadInfo, CCTIAppExchange
  • m_whatNone : CCTICallLog
  • m_whoNone : CCTICallLog
  • Merge() : CCTIRelatedObjectSet


Salesforce.com CTI Integration: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- o -

  • OnAgentStateChange() : CCTIUserInterface
  • OnAgentStateEnablementChange() : CCTIUserInterface
  • OnButtonEnablementChange() : CCTIUserInterface
  • OnCallAttemptFailed() : CCTIUserInterface
  • OnCallConferenced() : CCTIUserInterface
  • OnCallDialing() : CCTIUserInterface
  • OnCallEnd() : CCTIUserInterface
  • OnCallEstablished() : CCTIUserInterface
  • OnCallHeld() : CCTIUserInterface
  • OnCallPartyDropped() : CCTIUserInterface
  • OnCallRetrieved() : CCTIUserInterface
  • OnCallRinging() : CCTIUserInterface
  • OnCallTransferred() : CCTIUserInterface
  • OnCTIConnection() : CCTIUserInterface
  • OnCTIConnectionClosed() : CCTIUserInterface
  • OnCTIConnectionFailed() : CCTIUserInterface


Salesforce.com CTI Integration: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- ~ -

  • ~CCriticalSection() : CCriticalSection
  • ~CCTIAppExchangeSaveThread() : CCTIAppExchangeSaveThread
  • ~CCTIAppExchangeSearchThread() : CCTIAppExchangeSearchThread
  • ~LockImpl() : LockImpl< T >


Salesforce.com CTI Integration: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- b -

  • BSTRToString() : CCTIUtils
  • BytesToHexString() : CCTIUtils


Salesforce.com CTI Integration: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- c -

  • CallAlternate() : CCTIUserInterface
  • CallAnswer() : CCTIUserInterface
  • CallAttachData() : CCTIUserInterface
  • CallAttachSingleItem() : CCTIUserInterface
  • CallAttachUserInfo() : CCTIUserInterface
  • CallChangeCallObjectId() : CCTIUserInterface
  • CallClickToDial() : CCTIUserInterface
  • CallCompleteConference() : CCTIUserInterface
  • CallCompleteTransfer() : CCTIUserInterface
  • CallHold() : CCTIUserInterface
  • CallInitiate() : CCTIUserInterface
  • CallInitiateConference() : CCTIUserInterface
  • CallInitiateTransfer() : CCTIUserInterface
  • CallOneStepConference() : CCTIUserInterface
  • CallOneStepTransfer() : CCTIUserInterface
  • CallRelease() : CCTIUserInterface
  • CallRetrieve() : CCTIUserInterface
  • CallSaveWrapup() : CCTIUserInterface
  • CallSelectLogObject() : CCTIUserInterface
  • CallSetWrapupCode() : CCTIUserInterface
  • CallUnattachData() : CCTIUserInterface
  • CallUpdateComments() : CCTIUserInterface
  • CallUpdateSubject() : CCTIUserInterface
  • CanCreateCallLogs() : CCTIAppExchange
  • CCriticalSection() : CCriticalSection
  • CCTIAppExchangeSaveThread() : CCTIAppExchangeSaveThread
  • CCTIAppExchangeSearchThread() : CCTIAppExchangeSearchThread
  • CCTICallLog() : CCTICallLog
  • CCTILine() : CCTILine
  • CCTILogger() : CCTILogger
  • CCTIUserInterface() : CCTIUserInterface
  • CCTIWhoWhat() : CCTIWhoWhat
  • ClearLineCookie() : CCTILine
  • Clone() : CCTIButton
  • ContainsRelatedObject() : CCTIRelatedObjectSet
  • CreateCallLog() : CCTIUserInterface
  • CreateLogger() : CCTILogger
  • CreateLoginForm() : CCTIUserInterface
  • CreateOfficeToolkit() : CCTIAppExchange
  • CreateParty() : CCTIUserInterface
  • CreateVirtualLine() : CCTIUserInterface
  • CSaveThreadInfo() : CSaveThreadInfo
  • CTIChangeAgentState() : CCTIUserInterface
  • CTIConnect() : CCTIUserInterface
  • CTIDisconnect() : CCTIUserInterface
  • CTIIsOccupiedAgentState() : CCTIUserInterface
  • CTILogin() : CCTIUserInterface
  • CTILogout() : CCTIUserInterface


Salesforce.com CTI Integration: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- d -

  • DecryptString() : CCTIAppExchange
  • DescribeSoftphoneLayout() : CCTIAppExchange
  • DeselectObject() : CCTICallLog
  • DestroyChildren() : CCTIUserInterface
  • DestroyLogger() : CCTILogger
  • DestroyParties() : CCTIUserInterface
  • DestroyParty() : CCTIUserInterface
  • DestroyVirtualLine() : CCTIUserInterface


Salesforce.com CTI Integration: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- e -

  • EnableAgentStates() : CCTIAgent
  • EnableButtons() : CCTILine
  • EncryptString() : CCTIAppExchange
  • EndCallDurationTimer() : CCTILine
  • EndHoldTimer() : CCTILine
  • Enter() : CMutex, CCriticalSection, ILockable
  • ExitThread() : CCTIAppExchangeSearchThread, CCTIAppExchangeSaveThread


Salesforce.com CTI Integration: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- g -

  • GeneratePhoneFieldsQuery() : CCTIAppExchange
  • GenerateSOQLQueries() : CCTIAppExchange
  • GetAllLinesOpen() : CCTIUserInterface
  • GetAllowAlternate() : CCTILine
  • GetAllowDialpad() : CCTILine
  • GetAppExchange() : CCTIUserInterface
  • GetAttribute() : CCTIObject
  • GetAutoLogin() : CCTIUserInterface
  • GetAutoReconnect() : CCTIUserInterface
  • GetCallDisposition() : CCTICallLog
  • GetCallDuration() : CCTICallLog
  • GetCallDurationSeconds() : CCTILine
  • GetCallIsActive() : CCTICallLog
  • GetCallLogByCallId() : CCTIPreviousCalls
  • GetCallLogForCallId() : CCTIUserInterface
  • GetCallLogForLine() : CCTIUserInterface
  • GetCallObjectId() : CCTIReasonCodeSet, CCTILine, CCTICallLog
  • GetCallObjectIdFromLine() : CCTIUserInterface
  • GetCallType() : CCTILine, CCTICallLog
  • GetChildById() : CCTIForm
  • GetColor() : CCTIButton
  • GetComments() : CCTICallLog
  • GetConnected() : CCTIUserInterface
  • GetCTIUserInterface() : CCTIAppExchange
  • GetCurrentAgentState() : CCTIUserInterface
  • GetCurrentUserName() : CCTIUserInterface
  • GetDialOutCode() : CCTIUserInterface
  • GetDialpad() : CCTILine
  • GetDirty() : CCTICallLog
  • GetDomesticDialCode() : CCTIUserInterface
  • GetEditMode() : CCTICallLog
  • GetError() : CCTIStatic
  • GetExtension() : CCTIUserInterface
  • GetFieldListForObject() : CCTIAppExchange
  • GetFieldValue() : CCTIRelatedObject, CCTIAppExchange
  • GetFirstObject() : CCTIRelatedObjectSet
  • GetFirstParty() : CCTILine
  • GetFixed() : CCTILine
  • GetImageUrl() : CCTILogo
  • GetInfoFieldLabel() : CCTIUserInterface
  • GetInfoFieldsForLayout() : CCTIAppExchange
  • GetInstance() : CCTIAppExchange
  • GetInternationalDialCode() : CCTIUserInterface
  • GetLastEndedCallId() : CCTIUserInterface
  • GetLastTransferredCallId() : CCTIUserInterface
  • GetLine() : CCTIUserInterface
  • GetLineByCallId() : CCTIUserInterface
  • GetLineCookie() : CCTILine
  • GetLineNumber() : CCTILine, CCTICallLog
  • GetLinkText() : CCTILogo
  • GetLinkUrl() : CCTILogo
  • GetLinkURL() : CCTIButton
  • GetLogFile() : CCTILogger
  • GetLogFilePath() : CCTILogger
  • GetLoggedIn() : CCTIUserInterface
  • GetLogger() : CCTILogger
  • GetLogLevel() : CCTILogger
  • GetLogoutReasonCodes() : CCTIUserInterface
  • GetLogoutReasonRequired() : CCTIUserInterface
  • GetLongStyle() : CCTIButton
  • GetMapForLayout() : CCTIAppExchange
  • GetNameFields() : CCTIAppExchange
  • GetNextAvailableFixedLine() : CCTIUserInterface
  • GetNotReadyReasonCodes() : CCTIUserInterface
  • GetNotReadyReasonRequired() : CCTIUserInterface
  • GetNumber() : CCTIDialpad
  • GetNumberOfFixedLines() : CCTIUserInterface
  • GetNumberOfLines() : CCTIUserInterface
  • GetNumberOfParties() : CCTILine
  • GetObjectName() : CCTIRelatedObjectSet
  • GetObjectType() : CCTIWhoWhat
  • GetOneStepConferenceEnabled() : CCTIUserInterface
  • GetOneStepTransferEnabled() : CCTIUserInterface
  • GetOpen() : CCTIPreviousCalls, CCTICallLog
  • GetParty() : CCTILine
  • GetPartyByANI() : CCTILine
  • GetPassword() : CCTIEditBox
  • GetPluralLabel() : CCTIRelatedObjectSet
  • GetPreviousCallLogs() : CCTIUserInterface
  • GetRelatedObjectCount() : CCTIRelatedObjectSet
  • GetRelatedObjects() : CCTIRelatedObjectSet
  • GetRelatedObjectSet() : CCTIAppExchange
  • GetSaveOnEnd() : CCTICallLog
  • GetSelected() : CCTISelectableIdLabelObject, CCTIWhoWhat
  • GetSelectedReasonCode() : CCTIReasonCodeSet
  • GetSelectedWhatId() : CCTICallLog
  • GetSelectedWhoId() : CCTICallLog
  • GetShowWrapupSaveButton() : CCTIUserInterface
  • GetSid() : CCTIAppExchange
  • GetSingularLabel() : CCTIRelatedObjectSet
  • GetSObjectName() : CCTIAppExchange
  • GetSoftphoneLayoutItems() : CCTIAppExchange
  • GetState() : CCTILine
  • GetStringFromState() : CCTILine
  • GetStrippedPhoneNumber() : CCTIUtils
  • GetTag() : CCTITimer, CCTIStatic, CCTISelectableIdLabelObject, CCTIRelatedObjectSet, CCTIRelatedObject, CCTIProgressBar, CCTIPreviousCalls, CCTIObject, CCTILogo, CCTIForm, CCTIField, CCTIEditBox, CCTIDialpad, CCTICheckbox, CCTICallLog, CCTIWhoWhat, CCTIButton, CCTIAgentState
  • GetTaskCompletedStatus() : CCTIAppExchange
  • GetTaskSubject() : CCTIAppExchange
  • GetTotalSeconds() : CCTITimer
  • GetUseAsynchronousSearch() : CCTIUserInterface
  • GetUserId() : CCTIAppExchange
  • GetValue() : CCTIValueObject
  • GetValueFromQuery() : CCTIAppExchange
  • GetVisible() : CCTIObject
  • GetWindowHeight() : CCTILogo
  • GetWindowWidth() : CCTILogo
  • GetWrapupCodeRequired() : CCTIUserInterface
  • GetWrapupReasonCodes() : CCTIUserInterface


Salesforce.com CTI Integration: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- h -

  • HasLineCookie() : CCTILine
  • HexStringToBytes() : CCTIUtils
  • HiddenWindowProc() : CCTIAppExchangeSearchThread, CCTIAppExchangeSaveThread
  • HideDialpad() : CCTILine
  • HideLineStatusBar() : CCTILine


Salesforce.com CTI Integration: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- i -

  • Initialize() : CCTIUserInterface
  • IntToString() : CCTIUtils
  • IsALead() : CCTICallLog
  • IsAUser() : CCTICallLog
  • IsAWho() : CCTICallLog


Salesforce.com CTI Integration: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- p -

  • PopulateFormData() : CCTIForm
  • PopulateQueryResults() : CCTIAppExchange
  • PopulateValueFromMap() : CCTIValueObject


Salesforce.com CTI Integration: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- q -

  • QueryObjectInfo() : CCTIAppExchange
  • QueryRelatedData() : CCTIAppExchange
  • QueueCallInitiate() : CCTIUserInterface
  • QueueCTIChangeAgentState() : CCTIUserInterface
  • QueueCTILogin() : CCTIUserInterface


Salesforce.com CTI Integration: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- r -

  • RemoveAllParties() : CCTILine
  • RemoveAttribute() : CCTIObject
  • RemoveButton() : CCTILine
  • RemoveCallLog() : CCTIPreviousCalls
  • RemoveOldCallLogs() : CCTIPreviousCalls
  • RemoveParty() : CCTILine
  • RemovePartyByANI() : CCTILine
  • Reset() : CCTITimer, CCTIPreviousCalls, CCTILine, CCTIAppExchange
  • ResetObjectMap() : CCTIAppExchange
  • ReverseString() : CCTIUtils
  • RunLogQuery() : CCTIAppExchange
  • RunThread() : CCTIAppExchangeSearchThread, CCTIAppExchangeSaveThread


Salesforce.com CTI Integration: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- s -

  • SanitizeDN() : CCTIUserInterface
  • SaveLogInfoToRegistry() : CCTILogger
  • SaveUserExtension() : CCTIAppExchangeSaveThread, CCTIAppExchange
  • SaveUserParams() : CCTIAppExchange
  • SaveUserParamsToCustomSetup() : CCTIAppExchangeSaveThread
  • Search() : CCTIAppExchangeSearchThread, CCTIAppExchange
  • SearchAndReplace() : CCTIUtils
  • SelectFirstReasonCode() : CCTIReasonCodeSet
  • SelectObject() : CCTICallLog
  • SendUIRefreshEvent() : CCTIAdapter
  • SendUpdateTrayMenuEvent() : CCTIAdapter
  • SerializeToXML() : CCTIUserInterface, CCTIRelatedObjectSet, CCTIRelatedObject, CCTIReasonCodeSet, CCTIPreviousCalls, CCTIObject, CCTILine, CCTIForm, CCTICallLog, CCTIAgent
  • SetAllowAlternate() : CCTILine
  • SetAllowDialpad() : CCTILine
  • SetAllowDialpadForAllLines() : CCTIUserInterface
  • SetAttribute() : CCTIObject
  • SetAutoLogin() : CCTIUserInterface
  • SetAutoReconnect() : CCTIUserInterface
  • SetCallDisposition() : CCTICallLog
  • SetCallDuration() : CCTICallLog
  • SetCallIsActive() : CCTICallLog
  • SetCallObjectId() : CCTIReasonCodeSet, CCTILine, CCTICallLog
  • SetCallType() : CCTILine, CCTICallLog
  • SetCheckbox() : CCTIField
  • SetChildrenVisible() : CCTIUserInterface
  • SetColor() : CCTIButton
  • SetComments() : CCTICallLog
  • SetConnected() : CCTIUserInterface
  • SetCurrentUserName() : CCTIUserInterface
  • SetDatetimeFieldValue() : CCTIAppExchange
  • SetDialOutCode() : CCTIUserInterface
  • SetDirty() : CCTICallLog
  • SetDomesticDialCode() : CCTIUserInterface
  • SetEditMode() : CCTICallLog
  • SetError() : CCTIStatic
  • SetExtension() : CCTIUserInterface
  • SetFieldValue() : CCTIAppExchange
  • SetImageUrl() : CCTILogo
  • SetInfoFieldLabel() : CCTIUserInterface
  • SetInstance() : CCTIAppExchange
  • SetInternationalDialCode() : CCTIUserInterface
  • SetLastEndedCallId() : CCTIUserInterface
  • SetLastTransferredCallId() : CCTIUserInterface
  • SetLineCookie() : CCTILine
  • SetLineNumber() : CCTILine, CCTICallLog
  • SetLinkText() : CCTILogo
  • SetLinkUrl() : CCTILogo
  • SetLinkURL() : CCTIButton
  • SetLogFilePaths() : CCTILogger
  • SetLogFiles() : CCTILogger
  • SetLoggedIn() : CCTIUserInterface
  • SetLogLevel() : CCTILogger
  • SetLogoImageUrl() : CCTIUserInterface
  • SetLogoutReasonCodes() : CCTIUserInterface
  • SetLogoutReasonRequired() : CCTIUserInterface
  • SetNotReadyReasonCodes() : CCTIUserInterface
  • SetNotReadyReasonRequired() : CCTIUserInterface
  • SetNumber() : CCTIDialpad
  • SetOneStepConferenceEnabled() : CCTIUserInterface
  • SetOneStepTransferEnabled() : CCTIUserInterface
  • SetOpen() : CCTIPreviousCalls, CCTICallLog
  • SetOrder() : CCTIAgentState
  • SetPartyANI() : CCTIUserInterface
  • SetPassword() : CCTIEditBox
  • SetPluralLabel() : CCTIRelatedObjectSet
  • SetReasonCodes() : CCTIReasonCodeSet
  • SetReportLinkVisible() : CCTIPreviousCalls
  • SetReportText() : CCTIPreviousCalls
  • SetReportURL() : CCTIPreviousCalls
  • SetSaveOnEnd() : CCTICallLog
  • SetSelected() : CCTISelectableIdLabelObject, CCTIWhoWhat
  • SetSelectedReasonCode() : CCTIReasonCodeSet
  • SetSessionInstanceAndSid() : CCTIAppExchange
  • SetShowWrapupSaveButton() : CCTIUserInterface
  • SetSid() : CCTIAppExchange
  • SetSingularLabel() : CCTIRelatedObjectSet
  • SetState() : CCTILine
  • SetTaskCompletedStatus() : CCTIAppExchange
  • SetTaskSubject() : CCTIAppExchange
  • SetUseAsynchronousSearch() : CCTIUserInterface
  • SetUserId() : CCTIAppExchange
  • SetUserParametersMap() : CCTIUserInterface
  • SetValue() : CCTIValueObject
  • SetVisible() : CCTIObject
  • SetWindowHeight() : CCTILogo
  • SetWindowWidth() : CCTILogo
  • SetWrapupCodeRequired() : CCTIUserInterface
  • SetWrapupReasonCodes() : CCTIUserInterface
  • ShowDialpad() : CCTILine
  • ShowLineStatusBar() : CCTILine
  • ShowNone() : CCTIReasonCodeSet
  • ShowSaveButton() : CCTIReasonCodeSet
  • Split() : CCTIUtils
  • Start() : CCTITimer
  • StartCallDurationTimer() : CCTILine
  • StartHoldTimer() : CCTILine
  • StringBeginsWith() : CCTIUtils
  • StringEndsWith() : CCTIUtils
  • StringToBSTR() : CCTIUtils
  • StringToInt() : CCTIUtils
  • StringToVariant() : CCTIUtils


Salesforce.com CTI Integration: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- t -

  • theLogger : CCTILogger
  • ThreadInitializeSave() : CCTIAppExchangeSaveThread
  • ThreadSaveUserExtension() : CCTIAppExchangeSaveThread
  • ThreadSaveUserParams() : CCTIAppExchangeSaveThread
  • ThreadSearch() : CCTIAppExchangeSearchThread
  • ThreadUpsertCallLog() : CCTIAppExchangeSaveThread
  • ToUpperCase() : CCTIUtils


Salesforce.com CTI Integration: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- u -

  • UIAddAgentState() : CCTIUserInterface
  • UIAddButtonToAllLines() : CCTIUserInterface
  • UIAddLogObject() : CCTIUserInterface
  • UIAddLogObjectByCallId() : CCTIUserInterface
  • UIAllowAgentArea() : CCTIUserInterface
  • UICancelEditCallLog() : CCTIUserInterface
  • UIClearCallLogs() : CCTIUserInterface
  • UIEditCallLog() : CCTIUserInterface
  • UIHandleMessage() : CCTIUserInterface
  • UIHideDialpad() : CCTIUserInterface
  • UIHideLineStatusBars() : CCTIUserInterface
  • UIHideProgressBar() : CCTIUserInterface
  • UIHideStatusBar() : CCTIUserInterface
  • UIMakePreviousCallLogCurrent() : CCTIUserInterface
  • UIMoveCallLogToPreviousCalls() : CCTIUserInterface
  • UIParseIncomingXMLMessage() : CCTIUserInterface
  • UIRefresh() : CCTIUserInterface
  • UIRemoveButtonFromAllLines() : CCTIUserInterface
  • UISaveCallLog() : CCTIUserInterface
  • UIShowDialpad() : CCTIUserInterface
  • UIShowLogoutReasonCodes() : CCTIUserInterface
  • UIShowNotReadyReasonCodes() : CCTIUserInterface
  • UIShowProgressBar() : CCTIUserInterface
  • UIShowReasonCodes() : CCTIUserInterface
  • UIShowStatusBar() : CCTIUserInterface
  • UIShowWrapupCodes() : CCTIUserInterface
  • UIToggleTwisty() : CCTIUserInterface
  • UIUpdateSavedCallLog() : CCTIUserInterface
  • UIUpdateSid() : CCTIUserInterface
  • Update() : CCTITimer
  • UpdateCachedInformation() : CCTIAppExchange
  • UpdateSid() : CCTIAppExchange
  • UpsertCallLog() : CCTIAppExchangeSaveThread, CCTIAppExchange


Salesforce.com CTI Integration: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- v -

  • VariantToString() : CCTIUtils


Salesforce.com CTI Integration: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- w -

  • WriteLogEntry() : CCTILogger


Salesforce.com CTI Integration: Class Members - Functions

- a -

  • AddAgentState() : CCTIAgent
  • AddAttributesToElement() : CCTIObject
  • AddButton() : CCTILine, CCTIForm
  • AddCallLog() : CCTIPreviousCalls
  • AddCheckbox() : CCTIForm
  • AddChild() : CCTIForm
  • AddChildIfVisible() : CCTIObject
  • AddDefaultButtons() : CCTILine
  • AddEditBox() : CCTIForm
  • AddField() : CCTIRelatedObject
  • AddFieldToMap() : CCTIAppExchange
  • AddInfoField() : CCTIForm
  • AddLogObject() : CCTIPreviousCalls
  • AddLongButton() : CCTILine
  • AddObject() : CCTICallLog
  • AddParty() : CCTILine
  • AddRelatedObject() : CCTIRelatedObjectSet
  • AddRelatedObjects() : CCTICallLog
  • AddShortButton() : CCTILine
  • AddSoftphoneLayoutItemsToMap() : CCTIAppExchange
  • AddStatic() : CCTIForm
  • AsyncSearch() : CCTIAppExchange
  • AttachLogObjectsToCall() : CCTICallLog


Salesforce.com CTI Integration: Class Members - Functions

- l -

  • Leave() : CMutex, CCriticalSection, ILockable
  • LoadLogInfoFromRegistry() : CCTILogger
  • LoadUserParamsFromCustomSetup() : CCTIAppExchange
  • LockImpl() : LockImpl< T >
  • Log() : CCTILogger


Salesforce.com CTI Integration: Class Members - Functions

- m -

  • Merge() : CCTIRelatedObjectSet


Salesforce.com CTI Integration: Class Members - Functions

- o -

  • OnAgentStateChange() : CCTIUserInterface
  • OnAgentStateEnablementChange() : CCTIUserInterface
  • OnButtonEnablementChange() : CCTIUserInterface
  • OnCallAttemptFailed() : CCTIUserInterface
  • OnCallConferenced() : CCTIUserInterface
  • OnCallDialing() : CCTIUserInterface
  • OnCallEnd() : CCTIUserInterface
  • OnCallEstablished() : CCTIUserInterface
  • OnCallHeld() : CCTIUserInterface
  • OnCallPartyDropped() : CCTIUserInterface
  • OnCallRetrieved() : CCTIUserInterface
  • OnCallRinging() : CCTIUserInterface
  • OnCallTransferred() : CCTIUserInterface
  • OnCTIConnection() : CCTIUserInterface
  • OnCTIConnectionClosed() : CCTIUserInterface
  • OnCTIConnectionFailed() : CCTIUserInterface


Salesforce.com CTI Integration: Class Members - Functions

- ~ -

  • ~CCriticalSection() : CCriticalSection
  • ~CCTIAppExchangeSaveThread() : CCTIAppExchangeSaveThread
  • ~CCTIAppExchangeSearchThread() : CCTIAppExchangeSearchThread
  • ~LockImpl() : LockImpl< T >


Salesforce.com CTI Integration: Class Members - Functions

- b -

  • BSTRToString() : CCTIUtils
  • BytesToHexString() : CCTIUtils


Salesforce.com CTI Integration: Class Members - Functions

- c -

  • CallAlternate() : CCTIUserInterface
  • CallAnswer() : CCTIUserInterface
  • CallAttachData() : CCTIUserInterface
  • CallAttachSingleItem() : CCTIUserInterface
  • CallAttachUserInfo() : CCTIUserInterface
  • CallChangeCallObjectId() : CCTIUserInterface
  • CallClickToDial() : CCTIUserInterface
  • CallCompleteConference() : CCTIUserInterface
  • CallCompleteTransfer() : CCTIUserInterface
  • CallHold() : CCTIUserInterface
  • CallInitiate() : CCTIUserInterface
  • CallInitiateConference() : CCTIUserInterface
  • CallInitiateTransfer() : CCTIUserInterface
  • CallOneStepConference() : CCTIUserInterface
  • CallOneStepTransfer() : CCTIUserInterface
  • CallRelease() : CCTIUserInterface
  • CallRetrieve() : CCTIUserInterface
  • CallSaveWrapup() : CCTIUserInterface
  • CallSelectLogObject() : CCTIUserInterface
  • CallSetWrapupCode() : CCTIUserInterface
  • CallUnattachData() : CCTIUserInterface
  • CallUpdateComments() : CCTIUserInterface
  • CallUpdateSubject() : CCTIUserInterface
  • CanCreateCallLogs() : CCTIAppExchange
  • CCriticalSection() : CCriticalSection
  • CCTIAppExchangeSaveThread() : CCTIAppExchangeSaveThread
  • CCTIAppExchangeSearchThread() : CCTIAppExchangeSearchThread
  • CCTICallLog() : CCTICallLog
  • CCTILine() : CCTILine
  • CCTILogger() : CCTILogger
  • CCTIUserInterface() : CCTIUserInterface
  • CCTIWhoWhat() : CCTIWhoWhat
  • ClearLineCookie() : CCTILine
  • Clone() : CCTIButton
  • ContainsRelatedObject() : CCTIRelatedObjectSet
  • CreateCallLog() : CCTIUserInterface
  • CreateLogger() : CCTILogger
  • CreateLoginForm() : CCTIUserInterface
  • CreateOfficeToolkit() : CCTIAppExchange
  • CreateParty() : CCTIUserInterface
  • CreateVirtualLine() : CCTIUserInterface
  • CSaveThreadInfo() : CSaveThreadInfo
  • CTIChangeAgentState() : CCTIUserInterface
  • CTIConnect() : CCTIUserInterface
  • CTIDisconnect() : CCTIUserInterface
  • CTIIsOccupiedAgentState() : CCTIUserInterface
  • CTILogin() : CCTIUserInterface
  • CTILogout() : CCTIUserInterface


Salesforce.com CTI Integration: Class Members - Functions

- d -

  • DecryptString() : CCTIAppExchange
  • DescribeSoftphoneLayout() : CCTIAppExchange
  • DeselectObject() : CCTICallLog
  • DestroyChildren() : CCTIUserInterface
  • DestroyLogger() : CCTILogger
  • DestroyParties() : CCTIUserInterface
  • DestroyParty() : CCTIUserInterface
  • DestroyVirtualLine() : CCTIUserInterface


Salesforce.com CTI Integration: Class Members - Functions

- e -

  • EnableAgentStates() : CCTIAgent
  • EnableButtons() : CCTILine
  • EncryptString() : CCTIAppExchange
  • EndCallDurationTimer() : CCTILine
  • EndHoldTimer() : CCTILine
  • Enter() : CMutex, CCriticalSection, ILockable
  • ExitThread() : CCTIAppExchangeSearchThread, CCTIAppExchangeSaveThread


Salesforce.com CTI Integration: Class Members - Functions

- g -

  • GeneratePhoneFieldsQuery() : CCTIAppExchange
  • GenerateSOQLQueries() : CCTIAppExchange
  • GetAllLinesOpen() : CCTIUserInterface
  • GetAllowAlternate() : CCTILine
  • GetAllowDialpad() : CCTILine
  • GetAppExchange() : CCTIUserInterface
  • GetAttribute() : CCTIObject
  • GetAutoLogin() : CCTIUserInterface
  • GetAutoReconnect() : CCTIUserInterface
  • GetCallDisposition() : CCTICallLog
  • GetCallDuration() : CCTICallLog
  • GetCallDurationSeconds() : CCTILine
  • GetCallIsActive() : CCTICallLog
  • GetCallLogByCallId() : CCTIPreviousCalls
  • GetCallLogForCallId() : CCTIUserInterface
  • GetCallLogForLine() : CCTIUserInterface
  • GetCallObjectId() : CCTIReasonCodeSet, CCTILine, CCTICallLog
  • GetCallObjectIdFromLine() : CCTIUserInterface
  • GetCallType() : CCTILine, CCTICallLog
  • GetChildById() : CCTIForm
  • GetColor() : CCTIButton
  • GetComments() : CCTICallLog
  • GetConnected() : CCTIUserInterface
  • GetCTIUserInterface() : CCTIAppExchange
  • GetCurrentAgentState() : CCTIUserInterface
  • GetCurrentUserName() : CCTIUserInterface
  • GetDialOutCode() : CCTIUserInterface
  • GetDialpad() : CCTILine
  • GetDirty() : CCTICallLog
  • GetDomesticDialCode() : CCTIUserInterface
  • GetEditMode() : CCTICallLog
  • GetError() : CCTIStatic
  • GetExtension() : CCTIUserInterface
  • GetFieldListForObject() : CCTIAppExchange
  • GetFieldValue() : CCTIRelatedObject, CCTIAppExchange
  • GetFirstObject() : CCTIRelatedObjectSet
  • GetFirstParty() : CCTILine
  • GetFixed() : CCTILine
  • GetImageUrl() : CCTILogo
  • GetInfoFieldLabel() : CCTIUserInterface
  • GetInfoFieldsForLayout() : CCTIAppExchange
  • GetInstance() : CCTIAppExchange
  • GetInternationalDialCode() : CCTIUserInterface
  • GetLastEndedCallId() : CCTIUserInterface
  • GetLastTransferredCallId() : CCTIUserInterface
  • GetLine() : CCTIUserInterface
  • GetLineByCallId() : CCTIUserInterface
  • GetLineCookie() : CCTILine
  • GetLineNumber() : CCTILine, CCTICallLog
  • GetLinkText() : CCTILogo
  • GetLinkUrl() : CCTILogo
  • GetLinkURL() : CCTIButton
  • GetLogFile() : CCTILogger
  • GetLogFilePath() : CCTILogger
  • GetLoggedIn() : CCTIUserInterface
  • GetLogger() : CCTILogger
  • GetLogLevel() : CCTILogger
  • GetLogoutReasonCodes() : CCTIUserInterface
  • GetLogoutReasonRequired() : CCTIUserInterface
  • GetLongStyle() : CCTIButton
  • GetMapForLayout() : CCTIAppExchange
  • GetNameFields() : CCTIAppExchange
  • GetNextAvailableFixedLine() : CCTIUserInterface
  • GetNotReadyReasonCodes() : CCTIUserInterface
  • GetNotReadyReasonRequired() : CCTIUserInterface
  • GetNumber() : CCTIDialpad
  • GetNumberOfFixedLines() : CCTIUserInterface
  • GetNumberOfLines() : CCTIUserInterface
  • GetNumberOfParties() : CCTILine
  • GetObjectName() : CCTIRelatedObjectSet
  • GetObjectType() : CCTIWhoWhat
  • GetOneStepConferenceEnabled() : CCTIUserInterface
  • GetOneStepTransferEnabled() : CCTIUserInterface
  • GetOpen() : CCTIPreviousCalls, CCTICallLog
  • GetParty() : CCTILine
  • GetPartyByANI() : CCTILine
  • GetPassword() : CCTIEditBox
  • GetPluralLabel() : CCTIRelatedObjectSet
  • GetPreviousCallLogs() : CCTIUserInterface
  • GetRelatedObjectCount() : CCTIRelatedObjectSet
  • GetRelatedObjects() : CCTIRelatedObjectSet
  • GetRelatedObjectSet() : CCTIAppExchange
  • GetSaveOnEnd() : CCTICallLog
  • GetSelected() : CCTISelectableIdLabelObject, CCTIWhoWhat
  • GetSelectedReasonCode() : CCTIReasonCodeSet
  • GetSelectedWhatId() : CCTICallLog
  • GetSelectedWhoId() : CCTICallLog
  • GetShowWrapupSaveButton() : CCTIUserInterface
  • GetSid() : CCTIAppExchange
  • GetSingularLabel() : CCTIRelatedObjectSet
  • GetSObjectName() : CCTIAppExchange
  • GetSoftphoneLayoutItems() : CCTIAppExchange
  • GetState() : CCTILine
  • GetStringFromState() : CCTILine
  • GetStrippedPhoneNumber() : CCTIUtils
  • GetTag() : CCTITimer, CCTIStatic, CCTISelectableIdLabelObject, CCTIRelatedObjectSet, CCTIRelatedObject, CCTIProgressBar, CCTIPreviousCalls, CCTIObject, CCTILogo, CCTIForm, CCTIField, CCTIEditBox, CCTIDialpad, CCTICheckbox, CCTICallLog, CCTIWhoWhat, CCTIButton, CCTIAgentState
  • GetTaskCompletedStatus() : CCTIAppExchange
  • GetTaskSubject() : CCTIAppExchange
  • GetTotalSeconds() : CCTITimer
  • GetUseAsynchronousSearch() : CCTIUserInterface
  • GetUserId() : CCTIAppExchange
  • GetValue() : CCTIValueObject
  • GetValueFromQuery() : CCTIAppExchange
  • GetVisible() : CCTIObject
  • GetWindowHeight() : CCTILogo
  • GetWindowWidth() : CCTILogo
  • GetWrapupCodeRequired() : CCTIUserInterface
  • GetWrapupReasonCodes() : CCTIUserInterface


Salesforce.com CTI Integration: Class Members - Functions

- h -

  • HasLineCookie() : CCTILine
  • HexStringToBytes() : CCTIUtils
  • HiddenWindowProc() : CCTIAppExchangeSearchThread, CCTIAppExchangeSaveThread
  • HideDialpad() : CCTILine
  • HideLineStatusBar() : CCTILine


Salesforce.com CTI Integration: Class Members - Functions

- i -

  • Initialize() : CCTIUserInterface
  • IntToString() : CCTIUtils
  • IsALead() : CCTICallLog
  • IsAUser() : CCTICallLog
  • IsAWho() : CCTICallLog


Salesforce.com CTI Integration: Class Members - Functions

- p -

  • PopulateFormData() : CCTIForm
  • PopulateQueryResults() : CCTIAppExchange
  • PopulateValueFromMap() : CCTIValueObject


Salesforce.com CTI Integration: Class Members - Functions

- q -

  • QueryObjectInfo() : CCTIAppExchange
  • QueryRelatedData() : CCTIAppExchange
  • QueueCallInitiate() : CCTIUserInterface
  • QueueCTIChangeAgentState() : CCTIUserInterface
  • QueueCTILogin() : CCTIUserInterface


Salesforce.com CTI Integration: Class Members - Functions

- r -

  • RemoveAllParties() : CCTILine
  • RemoveAttribute() : CCTIObject
  • RemoveButton() : CCTILine
  • RemoveCallLog() : CCTIPreviousCalls
  • RemoveOldCallLogs() : CCTIPreviousCalls
  • RemoveParty() : CCTILine
  • RemovePartyByANI() : CCTILine
  • Reset() : CCTITimer, CCTIPreviousCalls, CCTILine, CCTIAppExchange
  • ResetObjectMap() : CCTIAppExchange
  • ReverseString() : CCTIUtils
  • RunLogQuery() : CCTIAppExchange
  • RunThread() : CCTIAppExchangeSearchThread, CCTIAppExchangeSaveThread


Salesforce.com CTI Integration: Class Members - Functions

- s -

  • SanitizeDN() : CCTIUserInterface
  • SaveLogInfoToRegistry() : CCTILogger
  • SaveUserExtension() : CCTIAppExchangeSaveThread, CCTIAppExchange
  • SaveUserParams() : CCTIAppExchange
  • SaveUserParamsToCustomSetup() : CCTIAppExchangeSaveThread
  • Search() : CCTIAppExchangeSearchThread, CCTIAppExchange
  • SearchAndReplace() : CCTIUtils
  • SelectFirstReasonCode() : CCTIReasonCodeSet
  • SelectObject() : CCTICallLog
  • SendUIRefreshEvent() : CCTIAdapter
  • SendUpdateTrayMenuEvent() : CCTIAdapter
  • SerializeToXML() : CCTIUserInterface, CCTIRelatedObjectSet, CCTIRelatedObject, CCTIReasonCodeSet, CCTIPreviousCalls, CCTIObject, CCTILine, CCTIForm, CCTICallLog, CCTIAgent
  • SetAllowAlternate() : CCTILine
  • SetAllowDialpad() : CCTILine
  • SetAllowDialpadForAllLines() : CCTIUserInterface
  • SetAttribute() : CCTIObject
  • SetAutoLogin() : CCTIUserInterface
  • SetAutoReconnect() : CCTIUserInterface
  • SetCallDisposition() : CCTICallLog
  • SetCallDuration() : CCTICallLog
  • SetCallIsActive() : CCTICallLog
  • SetCallObjectId() : CCTIReasonCodeSet, CCTILine, CCTICallLog
  • SetCallType() : CCTILine, CCTICallLog
  • SetCheckbox() : CCTIField
  • SetChildrenVisible() : CCTIUserInterface
  • SetColor() : CCTIButton
  • SetComments() : CCTICallLog
  • SetConnected() : CCTIUserInterface
  • SetCurrentUserName() : CCTIUserInterface
  • SetDatetimeFieldValue() : CCTIAppExchange
  • SetDialOutCode() : CCTIUserInterface
  • SetDirty() : CCTICallLog
  • SetDomesticDialCode() : CCTIUserInterface
  • SetEditMode() : CCTICallLog
  • SetError() : CCTIStatic
  • SetExtension() : CCTIUserInterface
  • SetFieldValue() : CCTIAppExchange
  • SetImageUrl() : CCTILogo
  • SetInfoFieldLabel() : CCTIUserInterface
  • SetInstance() : CCTIAppExchange
  • SetInternationalDialCode() : CCTIUserInterface
  • SetLastEndedCallId() : CCTIUserInterface
  • SetLastTransferredCallId() : CCTIUserInterface
  • SetLineCookie() : CCTILine
  • SetLineNumber() : CCTILine, CCTICallLog
  • SetLinkText() : CCTILogo
  • SetLinkUrl() : CCTILogo
  • SetLinkURL() : CCTIButton
  • SetLogFilePaths() : CCTILogger
  • SetLogFiles() : CCTILogger
  • SetLoggedIn() : CCTIUserInterface
  • SetLogLevel() : CCTILogger
  • SetLogoImageUrl() : CCTIUserInterface
  • SetLogoutReasonCodes() : CCTIUserInterface
  • SetLogoutReasonRequired() : CCTIUserInterface
  • SetNotReadyReasonCodes() : CCTIUserInterface
  • SetNotReadyReasonRequired() : CCTIUserInterface
  • SetNumber() : CCTIDialpad
  • SetOneStepConferenceEnabled() : CCTIUserInterface
  • SetOneStepTransferEnabled() : CCTIUserInterface
  • SetOpen() : CCTIPreviousCalls, CCTICallLog
  • SetOrder() : CCTIAgentState
  • SetPartyANI() : CCTIUserInterface
  • SetPassword() : CCTIEditBox
  • SetPluralLabel() : CCTIRelatedObjectSet
  • SetReasonCodes() : CCTIReasonCodeSet
  • SetReportLinkVisible() : CCTIPreviousCalls
  • SetReportText() : CCTIPreviousCalls
  • SetReportURL() : CCTIPreviousCalls
  • SetSaveOnEnd() : CCTICallLog
  • SetSelected() : CCTISelectableIdLabelObject, CCTIWhoWhat
  • SetSelectedReasonCode() : CCTIReasonCodeSet
  • SetSessionInstanceAndSid() : CCTIAppExchange
  • SetShowWrapupSaveButton() : CCTIUserInterface
  • SetSid() : CCTIAppExchange
  • SetSingularLabel() : CCTIRelatedObjectSet
  • SetState() : CCTILine
  • SetTaskCompletedStatus() : CCTIAppExchange
  • SetTaskSubject() : CCTIAppExchange
  • SetUseAsynchronousSearch() : CCTIUserInterface
  • SetUserId() : CCTIAppExchange
  • SetUserParametersMap() : CCTIUserInterface
  • SetValue() : CCTIValueObject
  • SetVisible() : CCTIObject
  • SetWindowHeight() : CCTILogo
  • SetWindowWidth() : CCTILogo
  • SetWrapupCodeRequired() : CCTIUserInterface
  • SetWrapupReasonCodes() : CCTIUserInterface
  • ShowDialpad() : CCTILine
  • ShowLineStatusBar() : CCTILine
  • ShowNone() : CCTIReasonCodeSet
  • ShowSaveButton() : CCTIReasonCodeSet
  • Split() : CCTIUtils
  • Start() : CCTITimer
  • StartCallDurationTimer() : CCTILine
  • StartHoldTimer() : CCTILine
  • StringBeginsWith() : CCTIUtils
  • StringEndsWith() : CCTIUtils
  • StringToBSTR() : CCTIUtils
  • StringToInt() : CCTIUtils
  • StringToVariant() : CCTIUtils


Salesforce.com CTI Integration: Class Members - Functions

- t -

  • ThreadInitializeSave() : CCTIAppExchangeSaveThread
  • ThreadSaveUserExtension() : CCTIAppExchangeSaveThread
  • ThreadSaveUserParams() : CCTIAppExchangeSaveThread
  • ThreadSearch() : CCTIAppExchangeSearchThread
  • ThreadUpsertCallLog() : CCTIAppExchangeSaveThread
  • ToUpperCase() : CCTIUtils


Salesforce.com CTI Integration: Class Members - Functions

- u -

  • UIAddAgentState() : CCTIUserInterface
  • UIAddButtonToAllLines() : CCTIUserInterface
  • UIAddLogObject() : CCTIUserInterface
  • UIAddLogObjectByCallId() : CCTIUserInterface
  • UIAllowAgentArea() : CCTIUserInterface
  • UICancelEditCallLog() : CCTIUserInterface
  • UIClearCallLogs() : CCTIUserInterface
  • UIEditCallLog() : CCTIUserInterface
  • UIHandleMessage() : CCTIUserInterface
  • UIHideDialpad() : CCTIUserInterface
  • UIHideLineStatusBars() : CCTIUserInterface
  • UIHideProgressBar() : CCTIUserInterface
  • UIHideStatusBar() : CCTIUserInterface
  • UIMakePreviousCallLogCurrent() : CCTIUserInterface
  • UIMoveCallLogToPreviousCalls() : CCTIUserInterface
  • UIParseIncomingXMLMessage() : CCTIUserInterface
  • UIRefresh() : CCTIUserInterface
  • UIRemoveButtonFromAllLines() : CCTIUserInterface
  • UISaveCallLog() : CCTIUserInterface
  • UIShowDialpad() : CCTIUserInterface
  • UIShowLogoutReasonCodes() : CCTIUserInterface
  • UIShowNotReadyReasonCodes() : CCTIUserInterface
  • UIShowProgressBar() : CCTIUserInterface
  • UIShowReasonCodes() : CCTIUserInterface
  • UIShowStatusBar() : CCTIUserInterface
  • UIShowWrapupCodes() : CCTIUserInterface
  • UIToggleTwisty() : CCTIUserInterface
  • UIUpdateSavedCallLog() : CCTIUserInterface
  • UIUpdateSid() : CCTIUserInterface
  • Update() : CCTITimer
  • UpdateCachedInformation() : CCTIAppExchange
  • UpdateSid() : CCTIAppExchange
  • UpsertCallLog() : CCTIAppExchangeSaveThread, CCTIAppExchange


Salesforce.com CTI Integration: Class Members - Functions

- v -

  • VariantToString() : CCTIUtils


Salesforce.com CTI Integration: Class Members - Functions

- w -

  • WriteLogEntry() : CCTILogger


Salesforce.com CTI Integration: Class Members - Variables

- m -

  • m_bAllowAgentStateArea : CCTIUserInterface
  • m_bAllowAlternate : CCTILine
  • m_bAllowDialpad : CCTILine
  • m_bAutoLogin : CCTIUserInterface
  • m_bAutoReconnect : CCTIUserInterface
  • m_bCallIsActive : CCTICallLog
  • m_bCanCreateCallLogs : CCTIAppExchange
  • m_bConnected : CCTIUserInterface
  • m_bDirty : CCTICallLog
  • m_bEditMode : CCTICallLog
  • m_bEnableOneStepConference : CCTIUserInterface
  • m_bEnableOneStepTransfer : CCTIUserInterface
  • m_bExiting : CCTIAppExchangeSearchThread, CCTIAppExchangeSaveThread
  • m_bFixed : CCTILine
  • m_bLogDirty : CSaveThreadInfo
  • m_bLoggedIn : CCTIUserInterface
  • m_bLogoutReasonRequired : CCTIUserInterface
  • m_bNotReadyReasonRequired : CCTIUserInterface
  • m_bOpen : CCTIPreviousCalls, CCTICallLog
  • m_bPassword : CCTIEditBox
  • m_bPersonAccountsExist : CCTIAppExchange
  • m_bQueuedLogin : CCTIUserInterface
  • m_bQueuedLogout : CCTIUserInterface
  • m_bSaveOnEnd : CCTICallLog
  • m_bSelected : CCTIWhoWhat
  • m_bShowWrapupSaveButton : CCTIUserInterface
  • m_bUseAsynchronousSearch : CCTIUserInterface
  • m_bVisible : CCTIObject
  • m_bWrapupCodeRequired : CCTIUserInterface
  • m_CS : CCriticalSection
  • m_dialpad : CCTILine
  • m_dwThreadId : CCTIAppExchangeSearchThread, CCTIAppExchangeSaveThread
  • m_hHiddenWindow : CSaveThreadInfo
  • m_hWnd : CCTIAppExchangeSearchThread, CCTIAppExchangeSaveThread
  • m_listCallLogs : CCTIUserInterface, CCTIPreviousCalls
  • m_listChildren : CCTIForm
  • m_listFields : CCTIRelatedObject
  • m_listInboundInfoFields : CCTIAppExchange
  • m_listInternalInfoFields : CCTIAppExchange
  • m_listLines : CCTIUserInterface
  • m_listOutboundInfoFields : CCTIAppExchange
  • m_listParties : CCTILine
  • m_listRelatedObjects : CCTIRelatedObjectSet
  • m_logo : CCTIUserInterface
  • m_mapANIToParties : CCTIUserInterface
  • m_mapAttributes : CCTIObject
  • m_mapButtons : CCTILine
  • m_mapConnectionParams : CCTIUserInterface
  • m_mapInboundLayout : CCTIAppExchange
  • m_mapInfoFieldLabels : CCTIUserInterface
  • m_mapInternalLayout : CCTIAppExchange
  • m_mapLineCookies : CCTILine
  • m_mapLogoutReasonCodes : CCTIUserInterface
  • m_mapNameFields : CCTIAppExchange
  • m_mapNonquotedFields : CCTIAppExchange
  • m_mapNotReadyReasonCodes : CCTIUserInterface
  • m_mapObjectsToFields : CCTIAppExchange
  • m_mapOutboundLayout : CCTIAppExchange
  • m_mapQueuedMakeCall : CCTIUserInterface
  • m_mapReasonCodes : CCTIReasonCodeSet
  • m_mapRelatedObjects : CCTIRelatedObjectSet
  • m_mapUserParams : CCTIUserInterface
  • m_mapWhats : CCTICallLog
  • m_mapWhos : CCTICallLog
  • m_mapWrapupReasonCodes : CCTIUserInterface
  • m_nCallDuration : CCTICallLog
  • m_nCallType : CCTILine, CCTICallLog
  • m_nLineNumber : CCTILine, CCTICallLog
  • m_nLineState : CCTILine
  • m_nLogCallType : CSaveThreadInfo
  • m_nLogDuration : CSaveThreadInfo
  • m_nLogLevel : CCTILogger
  • m_nLogType : CCTILogger
  • m_nMaxLogFiles : CCTILogger
  • m_nMaxLogFileSize : CCTILogger
  • m_nNumberOfFixedLines : CCTIUserInterface
  • m_nWhoOrWhat : CCTIWhoWhat
  • m_pAdapter : CCTIUserInterface
  • m_pAppExchange : CCTIUserInterface, CCTIAppExchangeSearchThread, CCTIAppExchangeSaveThread
  • m_parameters : CSaveThreadInfo
  • m_pCallDuration : CCTILine
  • m_pCTIAgent : CCTIUserInterface
  • m_pHoldDuration : CCTILine
  • m_pLogFileStream : CCTILogger
  • m_pLoginForm : CCTIUserInterface
  • m_pPreviousCalls : CCTIUserInterface
  • m_pReasonCodeSet : CCTIUserInterface
  • m_progressBar : CCTIUserInterface
  • m_pSaveThread : CCTIAppExchange
  • m_pSearchThread : CCTIAppExchange
  • m_pSession : CCTIAppExchange
  • m_pUI : CCTILine, CCTICallLog, CSaveThreadInfo, CCTIAppExchange
  • m_sAgentState : CCTIUserInterface, CCTIAgent
  • m_sANI : CCTILine
  • m_sBrowserConnectorFilePath : CCTILogger
  • m_sCallDisposition : CCTICallLog
  • m_sCallObjectId : CCTILine, CCTICallLog
  • m_sComments : CCTICallLog
  • m_sCtiConnectorFilePath : CCTILogger
  • m_sCurrentUserName : CCTIUserInterface
  • m_sDialOutCode : CCTIUserInterface
  • m_sDomesticDialCode : CCTIUserInterface
  • m_sEntityName : CCTIUserInterface
  • m_sExtension : CCTIUserInterface, CSaveThreadInfo
  • m_sHiddenWindowClassName : CCTIAppExchangeSearchThread, CCTIAppExchangeSaveThread
  • m_sId : CCTIUserInterface
  • m_sInstance : CSaveThreadInfo, CCTIAppExchange
  • m_sInternationalDialCode : CCTIUserInterface
  • m_sLastDN : CCTIUserInterface
  • m_sLastEndedCallId : CCTIUserInterface
  • m_sLastTransferredCallId : CCTIUserInterface
  • m_sLogCallObjectId : CSaveThreadInfo
  • m_sLogComments : CSaveThreadInfo
  • m_sLogDisposition : CSaveThreadInfo
  • m_sLogId : CSaveThreadInfo
  • m_sLogLabel : CSaveThreadInfo
  • m_sLogWhatId : CSaveThreadInfo
  • m_sLogWhoId : CSaveThreadInfo
  • m_sName : CCTIRelatedObject
  • m_sOldComments : CCTICallLog
  • m_sOldLabel : CCTICallLog
  • m_sOldSelectedWhatId : CCTICallLog
  • m_sOldSelectedWhoId : CCTICallLog
  • m_sPluralLabel : CCTIRelatedObjectSet
  • m_sSelectedReasonCode : CCTIReasonCodeSet
  • m_sSelectedWhatId : CCTICallLog
  • m_sSelectedWhoId : CCTICallLog
  • m_sSid : CSaveThreadInfo, CCTIAppExchange
  • m_sSingularLabel : CCTIRelatedObjectSet
  • m_sTaskCompletedStatus : CSaveThreadInfo, CCTIAppExchange
  • m_sTaskSubject : CCTIAppExchange
  • m_statusBar : CCTIUserInterface
  • m_sUserId : CSaveThreadInfo, CCTIAppExchange
  • m_whatNone : CCTICallLog
  • m_whoNone : CCTICallLog

- t -

  • theLogger : CCTILogger


Salesforce.com CTI Integration: Directory Hierarchy

Salesforce.com CTI Integration Directories

This directory hierarchy is sorted roughly, but not completely, alphabetically:
  • CTIAdapterLib
    • include
Generated on Fri Sep 7 09:25:47 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CTIAdapterLib/ Directory Reference

CTIAdapterLib

CTIAdapterLib Directory Reference

Directories

directory | include

Files

file | CriticalSection.cpp
file | CTIAgent.cpp
file | CTIAgentState.cpp
file | CTIAppExchange.cpp
file | CTIAppExchangeSaveThread.cpp
file | CTIAppExchangeSearchThread.cpp
file | CTIButton.cpp
file | CTICallLog.cpp
file | CTICheckbox.cpp
file | CTIDialpad.cpp
file | CTIEditBox.cpp
file | CTIField.cpp
file | CTIForm.cpp
file | CTIIdLabelObject.cpp
file | CTIInfoField.cpp
file | CTILine.cpp
file | CTILogger.cpp
file | CTILogo.cpp
file | CTIObject.cpp
file | CTIParty.cpp
file | CTIPreviousCalls.cpp
file | CTIProgressBar.cpp
file | CTIReasonCodeSet.cpp
file | CTIRelatedObject.cpp
file | CTIRelatedObjectSet.cpp
file | CTISelectableIdLabelObject.cpp
file | CTIStatic.cpp
file | CTITimer.cpp
file | CTIUserInterface.cpp
file | CTIUtils.cpp
file | CTIValueObject.cpp
file | stdafx.cpp
file | stdafx.h [code]
Generated on Fri Sep 7 09:25:46 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CTIAdapterLib/include/ Directory Reference

include Directory Reference

Files

file | CriticalSection.h [code]
file | CTIAdapter.h [code]
file | CTIAgent.h [code]
file | CTIAgentState.h [code]
file | CTIAppExchange.h [code]
file | CTIAppExchangeSaveThread.h [code]
file | CTIAppExchangeSearchThread.h [code]
file | CTIButton.h [code]
file | CTICallLog.h [code]
file | CTICheckbox.h [code]
file | CTIConstants.h [code]
file | CTIDialpad.h [code]
file | CTIEditBox.h [code]
file | CTIField.h [code]
file | CTIForm.h [code]
file | CTIIdLabelObject.h [code]
file | CTIInfoField.h [code]
file | CTILine.h [code]
file | CTILogger.h [code]
file | CTILogo.h [code]
file | CTIObject.h [code]
file | CTIParty.h [code]
file | CTIPreviousCalls.h [code]
file | CTIProgressBar.h [code]
file | CTIReasonCodeSet.h [code]
file | CTIRelatedObject.h [code]
file | CTIRelatedObjectSet.h [code]
file | CTISelectableIdLabelObject.h [code]
file | CTIStatic.h [code]
file | CTITimer.h [code]
file | CTIUserInterface.h [code]
file | CTIUtils.h [code]
file | CTIValueObject.h [code]
file | ISalesforceCTIAdapter.h [code]
Generated on Fri Sep 7 09:25:47 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Graphical Class Hierarchy

Go to the textual class hierarchy

Generated on Fri Sep 7 09:25:47 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: Alphabetical List

Salesforce.com CTI Integration Class Index

C | I | L

C
CCTIButton CCTILine CCTIRelatedObjectSet CMutex
CCriticalSection CCTICallLog CCTILogger CCTISelectableIdLabelObject CSaveThreadInfo
CCTIAdapter CCTICheckbox CCTILogo CCTIStatic CSearchThreadInfo
CCTIAgent CCTIDialpad CCTIObject CCTITimer
I
CCTIAgentState CCTIEditBox CCTIPreviousCalls CCTIUserInterface ILockable
CCTIAppExchange CCTIField CCTIProgressBar CCTIUtils
L
CCTIAppExchangeSaveThread CCTIForm CCTIReasonCodeSet CCTIValueObject LockImpl
CCTIAppExchangeSearchThread CCTIIdLabelObject CCTIRelatedObject CCTIWhoWhat

C | I | L


Salesforce.com CTI Integration: CTIAdapterLib/include/CriticalSection.h Source File

CriticalSection.h

00001 //
00002 // Copyright (c) 2004 salesforce.com.  All rights reserved.
00003 //
00004
00005 #if !defined(UTILS_CRITICAL_SECTION_H)
00006 #define UTILS_CRITICAL_SECTION_H
00007
00013 class ILockable
00014 {
00015 public:
00016         virtual ~ILockable() {}
00020         virtual void Enter() const = 0;
00024         virtual void Leave() const = 0;
00025 };
00026
00027
00034 template <class T>
00035 class LockImpl
00036 {
00037 public:
00041         LockImpl(const T* obj) :
00042                 m_Obj(obj)
00043         {
00044                 if (m_Obj)
00045                         m_Obj->Enter();
00046         }
00047
00051         ~LockImpl()
00052         {
00053                 if (m_Obj)
00054                         m_Obj->Leave();
00055         }
00056
00057 private:
00058         const T* m_Obj;
00059 };
00060
00067 class CCriticalSection : public ILockable
00068 {
00069 public:
00070         //This LockImpl will lock the input CCriticalSection upon its creation, and will unlock the critical section when it goes out of scope.
00071     typedef LockImpl<CCriticalSection> AutoLock;
00072
00076     CCriticalSection();
00077
00081     ~CCriticalSection();
00082
00087     void Enter() const;
00088
00092     void Leave() const;
00093
00094 protected:
00096     CRITICAL_SECTION m_CS;
00097 };
00098
00102 class CMutex : public ILockable
00103 {
00104 public:
00105     CMutex(const wchar_t* name, BOOL initialOwner = FALSE);
00106     ~CMutex();
00107
00112     void Enter() const;
00113
00117     void Leave() const;
00118
00119 private:
00120     HANDLE m_Mutex;
00121 };
00122
00123 #endif
Generated on Fri Sep 7 09:25:44 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIAdapter.h Source File

CTIAdapter.h

00001 #include "stdafx.h"
00002 #pragma once
00003
00004 class CCTIAdapter
00012 {
00013 public:
00014
00021         virtual void SendUIRefreshEvent(_bstr_t xml) = 0;
00022
00042         virtual void SendUpdateTrayMenuEvent(_bstr_t bsMenu) { };
00043 };


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIAgent.h Source File

CTIAgent.h

00001 #pragma once
00002 #include "ctiobject.h"
00003 #include "CtiAgentState.h"
00004 #include <map>
00005
00011 class CCTIAgent :
00012         public CCTIObject
00013 {
00014 public:
00015         CCTIAgent(void);
00016         virtual ~CCTIAgent(void);
00017
00018         virtual MSXML2::IXMLDOMDocumentFragmentPtr SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc);
00019 protected:
00020          std::map<std::wstring,CCTIAgentState*> m_mapAgentStates;
00021          std::wstring m_sAgentState;
00022 public:
00023
00030         virtual void EnableAgentStates(std::list<std::wstring>& listEnabledAgentStates);
00031         virtual void SetAgentState(std::wstring& sAgentState);
00032         virtual std::wstring GetAgentState();
00040         void AddAgentState(std::wstring sId, int nOrder, std::wstring sLabel=L"");
00041 };


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIAgentState.h Source File

CTIAgentState.h

00001 #pragma once
00002 #include "CTISelectableIdLabelObject.h"
00003
00009 class CCTIAgentState :
00010         public CCTISelectableIdLabelObject
00011 {
00012 public:
00013         CCTIAgentState(void);
00014         CCTIAgentState(std::wstring sId, std::wstring sLabel);
00015         virtual ~CCTIAgentState(void);
00021         virtual _bstr_t GetTag() { return "CTIAgentState"; };
00022
00029         virtual void SetOrder(int nOrder) { SetAttribute(KEY_ORDER,nOrder); };
00030 };


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIAppExchange.h Source File

CTIAppExchange.h

00001 #pragma once
00002 #include <map>
00003 #include <list>
00004 #include "stdafx.h"
00005 #include <string>
00006 #include "ctiobject.h"
00007 #include "ctiuserinterface.h"
00008 #include "CTIUtils.h"
00009 #import "SF_MSApi4.dll" no_namespace named_guids
00010
00011 //This is the key used in all communications with SFDC.  The ID here is limited; partners should change this define to their own full-featured client ID.
00012 #define CTI_CLIENT_KEY L"CTIAdapter/1.0"
00013 //This is the path to the web services API.  This should only be changed if Salesforce.com has moved to a new release of its web services API.
00014 #define API_SUBPATH L"/services/Soap/c/8.0"
00015
00016 //This is the path to the code used to encrypt passwords.
00017 #define CODE_SERVLET_PATH L"/servlet/servlet.OfflineCode"
00018 //This is the path to the user-level keys in the CustomSetup table.  Do _not_ change this value!
00019 #define USER_KEY_PATH L"CTI/"
00020
00021 typedef std::map<std::wstring,StringList*> ObjectFieldMap;
00022
00023 class CCTIRelatedObjectSet;
00024 class CCTIAppExchangeSaveThread;
00025 class CCTIAppExchangeSearchThread;
00026
00027 class CSaveUserParamsInfo;
00028
00035 class CCTIAppExchange
00036 {
00037 protected:
00038         CCTIAppExchangeSaveThread* m_pSaveThread;
00039         CCTIAppExchangeSearchThread* m_pSearchThread;
00044         ObjectFieldMap m_mapInternalLayout;
00048         ObjectFieldMap m_mapInboundLayout;
00052         ObjectFieldMap m_mapOutboundLayout;
00053
00054         StringList m_listInboundInfoFields;
00056         StringList m_listOutboundInfoFields;
00058         StringList m_listInternalInfoFields;
00064         static ObjectFieldMap m_mapNameFields;
00065
00069         static ObjectFieldMap m_mapObjectsToFields;
00070
00075         static ObjectFieldMap m_mapNonquotedFields;
00076
00077         std::wstring m_sInstance;
00079         std::wstring m_sTaskCompletedStatus;
00081         std::wstring m_sTaskSubject;
00088         virtual void SetInstance(std::wstring sInstance)
00089         {
00090                 m_sInstance = sInstance;
00091         }
00092
00093         std::wstring m_sSid;
00100         virtual void SetSid(std::wstring sSid)
00101         {
00102                 m_sSid=sSid;
00103         }
00104
00105         std::wstring m_sUserId;
00112         virtual void SetUserId(std::wstring sUserId)
00113         {
00114                 CCTILogger::Log(LOGLEVEL_MED,L"UserId set to %s.",sUserId);
00115                 m_sUserId=sUserId;
00116         }
00117
00118         ISForceSession4Ptr m_pSession;
00120         bool m_bCanCreateCallLogs;
00122         static bool m_bPersonAccountsExist;
00123 public:
00124         CCTIAppExchange(CCTIUserInterface* pUI);
00125         virtual ~CCTIAppExchange(void);
00126
00127         CCTIUserInterface* m_pUI;
00136         virtual void UpdateSid(std::wstring sInstance, std::wstring sSid);
00137
00142         virtual void UpdateCachedInformation();
00143
00149         virtual void ResetObjectMap(ObjectFieldMap& map);
00150
00154         virtual bool CanCreateCallLogs()
00155         {
00156                 return m_bCanCreateCallLogs;
00157         }
00158
00184         virtual void Search(int nLayout, std::wstring sANI, PARAM_MAP& mapAttachedData, CCTICallLog* pLog, RelObjSetList& listUiOutput, bool bFallBackOnANISearch=true);
00185
00197         virtual void AsyncSearch(std::wstring sCallObjectId, int nLayout, std::wstring sANI, PARAM_MAP& mapAttachedData,bool bFallBackOnANISearch=true);
00198
00208         static std::wstring GetValueFromQuery(ISForceSession4Ptr pSession, std::wstring sQuery, const wchar_t* sField);
00209
00217         void GetSoftphoneLayoutItems(std::wstring sSoftphoneLayoutId, PairList& listItems);
00218
00227         void AddSoftphoneLayoutItemsToMap(PairList& listItems, StringList& listSectionIds, PARAM_MAP& mapSectionIdToObjectName, ObjectFieldMap& mapLayout);
00228
00236         virtual _bstr_t GeneratePhoneFieldsQuery(int nLayout, std::wstring sANI);
00237
00262         virtual void GenerateSOQLQueries(int nLayout, PARAM_MAP& mapAttachedData, std::list<_bstr_t>& listOutputQueries);
00263
00274         virtual void RunLogQuery(int nLayout, std::wstring& sObjectType, std::wstring& sId, CCTICallLog* pLog, RelObjSetList& listUiOutput);
00275
00282         virtual ObjectFieldMap& GetMapForLayout(int nLayout);
00283
00290         StringList* GetInfoFieldsForLayout(int nLayout);
00291
00298         static StringList* GetNameFields(std::wstring sObjectType);
00299
00307         static CCTIRelatedObjectSet* GetRelatedObjectSet(RelObjSetList& listOutput, ISObject4Ptr pSObject);
00308
00312         virtual void Reset();
00313
00321         static void SetDatetimeFieldValue(ISObject4Ptr pSObject, _variant_t sFieldName, SYSTEMTIME st);
00322
00330         static void SetFieldValue(ISObject4Ptr pSObject, _variant_t sFieldName, std::wstring& sValue);
00331
00339         static void SetFieldValue(ISObject4Ptr pSObject, _variant_t sFieldName, _bstr_t sValue);
00340
00349         static std::wstring GetFieldValue(ISForceSession4Ptr pSession, ISObject4Ptr pSObject,const wchar_t* sFieldName);
00350
00358         static std::wstring GetSObjectName(ISForceSession4Ptr pSession, ISObject4Ptr pSObject);
00359
00376         static int PopulateQueryResults(ISForceSession4Ptr pSession, IQueryResultSet4Ptr pQueryResults, ObjectFieldMap& mapLayout, RelObjSetList& listUiOutput, bool bIgnorePersonContacts);
00377
00385         virtual void AddFieldToMap(ObjectFieldMap& mapLayout, std::wstring sObject, std::wstring sField);
00386
00394         static void SetSessionInstanceAndSid(ISForceSession4Ptr pSession, std::wstring sInstance, std::wstring sSid);
00395
00403         static ISForceSession4Ptr CreateOfficeToolkit();
00404
00413         static ISForceSession4Ptr CreateOfficeToolkit(std::wstring sInstance, std::wstring sSid);
00414
00424         static StringList* QueryObjectInfo(ISForceSession4Ptr pSession, std::wstring sObjectName);
00425
00437         static std::wstring GetFieldListForObject(ObjectFieldMap& mapLayout, std::wstring& sObject);
00438
00446         virtual void LoadUserParamsFromCustomSetup();
00447
00458         virtual void SaveUserParams(PARAM_MAP& parameters);
00459
00466         void SaveUserExtension(std::wstring& sExtension);
00467
00475         static std::wstring EncryptString(std::wstring& sSource, std::wstring& sKey);
00476
00484         static std::wstring DecryptString(std::wstring& sSource, std::wstring& sKey);
00485
00489         virtual std::wstring GetUserId() {
00490                 return m_sUserId;
00491         }
00492
00496         virtual std::wstring GetSid() {
00497                 return m_sSid;
00498         }
00499
00503         virtual std::wstring GetInstance() {
00504                 return m_sInstance;
00505         }
00506
00510         virtual CCTIUserInterface* GetCTIUserInterface()
00511         {
00512                 return m_pUI;
00513         }
00514
00520         virtual std::wstring GetTaskSubject()
00521         {
00522                 return m_sTaskSubject;
00523         }
00524
00530         virtual void SetTaskSubject(std::wstring sTaskSubject) { m_sTaskSubject=sTaskSubject; };
00531
00537         virtual std::wstring GetTaskCompletedStatus()
00538         {
00539                 return m_sTaskCompletedStatus;
00540         }
00541
00547         virtual void SetTaskCompletedStatus(std::wstring sTaskCompletedStatus) { m_sTaskCompletedStatus=sTaskCompletedStatus; };
00548
00554         virtual void UpsertCallLog(CCTICallLog* pLog);
00555
00563         virtual void QueryRelatedData(std::wstring& sCallObjectId, std::wstring& sRelatedData);
00564
00568         virtual void DescribeSoftphoneLayout();
00569 };


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIAppExchangeSaveThread.h Source File

CTIAppExchangeSaveThread.h

00001 #pragma once
00002 #include "CTIAppExchange.h"
00003
00004 class CCTICallLog;
00005 class CSaveThreadInfo;
00006 class CCTIUserInterface;
00007
00019 class CCTIAppExchangeSaveThread
00020 {
00021 protected:
00022         static bool m_bExiting;
00023         DWORD m_dwThreadId;
00024         CCTIAppExchange* m_pAppExchange;
00025         HWND m_hWnd;
00026         std::wstring m_sHiddenWindowClassName;
00035         static DWORD WINAPI RunThread(LPVOID pThreadParam);
00036
00041         void ExitThread();
00042
00043         /************************************************************************************************
00044          * Thread methods -- these are the methods that the save thread calls when it receives messages *
00045          ************************************************************************************************/
00046
00053         static void ThreadUpsertCallLog(ISForceSession4Ptr pSession,CSaveThreadInfo* pInfo);
00054
00062         static void ThreadSaveUserParams(ISForceSession4Ptr pSession,CSaveThreadInfo* pThreadInfo);
00063
00070         static void ThreadInitializeSave(ISForceSession4Ptr pSession, CCTIAppExchange* pAppExchange);
00071
00079         static void ThreadSaveUserExtension(ISForceSession4Ptr pSession,std::wstring& sUserId,std::wstring& sExtension);
00080 public:
00084         CCTIAppExchangeSaveThread(CCTIAppExchange* pAppExchange);
00085
00089         ~CCTIAppExchangeSaveThread();
00090
00099         void UpsertCallLog(CCTICallLog* pLog);
00100
00109         void SaveUserParamsToCustomSetup(PARAM_MAP& parameters);
00110
00116         void SaveUserExtension(std::wstring& sExtension);
00117
00128         static LRESULT CALLBACK HiddenWindowProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp);
00129 };
00130
00138 class CSaveThreadInfo
00139 {
00140 public:
00141         CSaveThreadInfo(CCTIAppExchange* pAppExchange);
00142         CSaveThreadInfo(CCTIAppExchange* pAppExchange, PARAM_MAP& parameters, HWND hHiddenWindow, CCTICallLog* m_pCallLog=NULL);
00143
00152         CSaveThreadInfo(CCTIUserInterface* pUI, std::wstring sCallObjectId, std::wstring sId);
00153
00154         HWND m_hHiddenWindow;
00156         CCTIUserInterface* m_pUI;
00158         std::wstring m_sSid;
00159         std::wstring m_sInstance;
00160         std::wstring m_sUserId;
00161         std::wstring m_sExtension;
00162         PARAM_MAP m_parameters;
00164         std::wstring m_sLogCallObjectId;
00165         std::wstring m_sLogId;
00166         std::wstring m_sLogLabel;
00167         std::wstring m_sLogComments;
00168         std::wstring m_sLogDisposition;
00169         int m_nLogDuration;
00170         int m_nLogCallType;
00171         std::wstring m_sTaskCompletedStatus;
00172         std::wstring m_sLogWhoId;
00173         std::wstring m_sLogWhatId;
00174         bool m_bLogDirty;
00175 };


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIAppExchangeSearchThread.h Source File

CTIAppExchangeSearchThread.h

00001 #pragma once
00002 #include "CTIAppExchange.h"
00003 #include "CTIConstants.h"
00004
00005 class CSearchThreadInfo;
00006
00017 class CCTIAppExchangeSearchThread
00018 {
00019 protected:
00020         static bool m_bExiting;
00021         DWORD m_dwThreadId;
00022         CCTIAppExchange* m_pAppExchange;
00023         HWND m_hWnd;
00024         std::wstring m_sHiddenWindowClassName;
00033         static DWORD WINAPI RunThread(LPVOID pThreadParam);
00034
00039         virtual void ExitThread();
00040
00048         static void ThreadSearch(ISForceSession4Ptr pSession,CSearchThreadInfo* pInfo);
00049
00050         static void ThreadRunLogQuery(ISForceSession4Ptr pSession, CSearchThreadInfo* pInfo, std::wstring sCallLogQuery, RelObjSetList& listRelObjSets);
00051 public:
00055         CCTIAppExchangeSearchThread(CCTIAppExchange* pAppExchange);
00056
00060         ~CCTIAppExchangeSearchThread();
00061
00072         static LRESULT CALLBACK HiddenWindowProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp);
00073
00090         virtual void Search(int nLayout, std::wstring sCallObjectId, std::wstring sPartyId,
00091                                                 std::wstring sCallLogQueryWho, std::wstring sCallLogQueryWhat,
00092                                                 BSTRList& listIVRQueries, _bstr_t bsANIQuery);
00093 };
00094
00102 class CSearchThreadInfo
00103 {
00104 public:
00105         CSearchThreadInfo(CSearchThreadInfo* pOriginalInfo,RelObjSetList& listRelObjSets);
00106
00107         CSearchThreadInfo(CSearchThreadInfo* pOriginalInfo,std::wstring sId,std::wstring sName,std::wstring sLabel,std::wstring sEntityName);
00108
00109         CSearchThreadInfo(CCTIAppExchange* pAppExchange, HWND hWnd, int nLayout, std::wstring sCallObjectId, std::wstring sPartyId, std::wstring sCallLogQueryWho, std::wstring sCallLogQueryWhat, BSTRList& listIVRQueries, _bstr_t bsANIQuery);
00110
00111         std::wstring m_sSid;
00112         std::wstring m_sInstance;
00113         ObjectFieldMap m_mapLayout;
00114         HWND m_hWnd;
00115         std::wstring m_sCallObjectId;
00116         std::wstring m_sPartyId;
00117         std::wstring m_sCallLogQueryWho;
00118         std::wstring m_sCallLogQueryWhat;
00119         BSTRList m_listIVRQueries;
00120         _bstr_t m_bsANIQuery;
00121         CCTIUserInterface* m_pUI;
00122
00123         std::wstring m_sLogId;
00124         std::wstring m_sLogName;
00125         std::wstring m_sLogLabel;
00126         std::wstring m_sLogEntityName;
00127
00128         RelObjSetList m_listRelObjSets;
00129 };


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIButton.h Source File

CTIButton.h

00001 #pragma once
00002 #include "ctiidlabelobject.h"
00003
00009 class CCTIButton :
00010         public CCTIIdLabelObject
00011 {
00012 public:
00013         CCTIButton(std::wstring sId, std::wstring sLabel=L"");
00014         CCTIButton(void);
00015         virtual ~CCTIButton(void);
00016
00017         virtual std::wstring GetIconURL() { return GetAttribute(KEY_ICON_URL); };
00018         virtual void SetIconURL(std::wstring sUrl) { SetAttribute(KEY_ICON_URL,sUrl); };
00019
00020         virtual std::wstring GetPressedIconURL() { return GetAttribute(KEY_PRESSED_ICON_URL); };
00021         virtual void SetPressedIconURL(std::wstring sUrl) { SetAttribute(KEY_PRESSED_ICON_URL,sUrl); };
00022
00028         virtual std::wstring GetLinkURL() { return GetAttribute(KEY_LINK_URL); };
00035         virtual void SetLinkURL(std::wstring sUrl) { SetAttribute(KEY_LINK_URL,sUrl); };
00036
00042         virtual std::wstring GetColor() { return GetAttribute(KEY_COLOR); };
00050         virtual void SetColor(std::wstring sColor) { SetAttribute(KEY_COLOR,sColor); };
00051
00052         virtual bool GetIsToggleButton() { return GetAttribute(KEY_TOGGLE_BUTTON)==KEY_TRUE?true:false; };
00053         virtual void SetIsToggleButton(bool bToggle) { SetAttribute(KEY_TOGGLE_BUTTON,bToggle); };
00054
00061         virtual bool GetLongStyle() { return GetAttribute(KEY_LONG_STYLE)==KEY_TRUE?true:false; };
00062         virtual void SetLongStyle(bool bLongStyle) { SetAttribute(KEY_LONG_STYLE,bLongStyle); };
00063
00064         virtual bool GetToggleState() { return GetAttribute(KEY_TOGGLE_STATE)==KEY_TRUE?true:false; };
00065         virtual void GetToggleState(bool bToggleState) { SetAttribute(KEY_TOGGLE_STATE,bToggleState); };
00071         virtual _bstr_t GetTag() { return "CTIButton"; };
00072
00079         virtual CCTIButton* Clone();
00080 };


Salesforce.com CTI Integration: CTIAdapterLib/include/CTICallLog.h Source File

CTICallLog.h

00001 #pragma once
00002 #include "CTIIdLabelObject.h"
00003 #include "CTIRelatedObjectSet.h"
00004 #include "CTIRelatedObject.h"
00005 #include "CTIUtils.h"
00006
00007 class CCTILine;
00008 class CCTIUserInterface;
00009
00010 typedef std::map<std::wstring,StringPair> StringToPairMap;
00011
00015 class CCTIWhoWhat : public CCTIObject
00016 {
00017 protected:
00018         bool m_bSelected;
00019         int m_nWhoOrWhat;
00020 public:
00030         CCTIWhoWhat(int nWhoOrWhat,std::wstring sId,std::wstring sObjectLabel,std::wstring sObjectName,std::wstring sEntityName);
00031
00037         virtual void SetSelected(bool bSelected);
00043         virtual bool GetSelected() { return m_bSelected; };
00044
00050         virtual std::wstring GetObjectType() { return GetAttribute(KEY_ENTITY_NAME); };
00051
00057         virtual _bstr_t GetTag() { return m_nWhoOrWhat==LOG_OBJECTTYPE_WHO?"CTIWho":"CTIWhat"; };
00058 };
00059
00060  typedef std::map<std::wstring,CCTIWhoWhat*> WhoWhatMap;
00061
00069 class CCTICallLog :
00070         public CCTIIdLabelObject
00071 {
00072 protected:
00073         bool m_bOpen;
00074         bool m_bSaveOnEnd;
00075         int m_nLineNumber;
00076         bool m_bEditMode;
00078         WhoWhatMap m_mapWhos;
00079         WhoWhatMap m_mapWhats;
00081         CCTIWhoWhat m_whoNone;
00082         CCTIWhoWhat m_whatNone;
00084         std::wstring m_sSelectedWhoId;
00085         std::wstring m_sSelectedWhatId;
00086         std::wstring m_sComments;
00087         std::wstring m_sCallDisposition;
00089         //The fields below are for edit mode for previous call logs; they will be restored if the edit is cancelled.
00090         std::wstring m_sOldSelectedWhoId;
00091         std::wstring m_sOldSelectedWhatId;
00092         std::wstring m_sOldComments;
00093         std::wstring m_sOldLabel;
00095         bool m_bDirty;
00096         bool m_bCallIsActive;
00102         virtual void AttachLogObjectsToCall();
00103
00104         int m_nCallDuration;
00105         std::wstring m_sCallObjectId;
00106         int m_nCallType;
00108         CCTIUserInterface* m_pUI;
00109 public:
00115         CCTICallLog(CCTIUserInterface* pUI, std::wstring sLabel, int nLineNumber, bool bOpen);
00116         virtual ~CCTICallLog();
00122         virtual void SetOpen(bool bOpen);
00128         virtual bool GetOpen();
00129
00136         virtual void SetSaveOnEnd(bool bSaveOnEnd)
00137         {
00138                 m_bSaveOnEnd = bSaveOnEnd;
00139         };
00145         virtual bool GetSaveOnEnd() { return m_bSaveOnEnd; };
00146
00152         virtual void SetLineNumber(int nLineNumber);
00158         virtual int GetLineNumber();
00159
00165         virtual _bstr_t GetTag() { return "CTICallLog"; };
00166
00173         virtual MSXML2::IXMLDOMDocumentFragmentPtr SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc);
00174
00182         static bool IsAWho(std::wstring& sId);
00183
00191         static bool IsALead(std::wstring& sId);
00192
00200         static bool IsAUser(std::wstring& sId);
00201
00215         virtual int AddObject(std::wstring& sId, std::wstring& sObjectLabel, std::wstring& sObjectName, std::wstring& sEntityName, bool bAttachToCall=true, bool bAutoSelect=true);
00216
00223         void AddRelatedObjects(RelObjSetList* listRelObjSets);
00224
00233         virtual void SelectObject(std::wstring sId, bool bAttachToCall=true);
00234
00240         virtual void DeselectObject(int nWhoOrWhat);
00241
00248         virtual void SetCallDuration(int nCallDuration) { m_nCallDuration = nCallDuration; };
00249
00253         virtual int GetCallDuration() { return m_nCallDuration; };
00254
00260         virtual void SetEditMode(bool bEditMode);
00261
00265         virtual bool GetEditMode() { return m_bEditMode; };
00266
00267         /*
00268          * Takes this log out of edit mode and restores the values that were in it prior to edit mode.
00269          */
00270         virtual void CancelEditMode();
00271
00278         virtual void SetCallObjectId(std::wstring sCallObjectId);
00279
00283         virtual std::wstring GetCallObjectId();
00284
00291         virtual void SetCallDisposition(std::wstring sCallDisposition) {
00292                 m_sCallDisposition = sCallDisposition;
00293         };
00294
00298         virtual std::wstring GetCallDisposition() { return m_sCallDisposition; };
00299
00305         void SetDirty(bool bDirty);
00306
00312         bool GetDirty();
00313
00319         void SetCallIsActive(bool bCallIsActive);
00320
00326         bool GetCallIsActive();
00327
00333         virtual void SetComments(std::wstring sComments);
00334
00338         virtual std::wstring GetComments() { return m_sComments; };
00339
00343         virtual std::wstring GetSelectedWhoId() { return m_sSelectedWhoId; };
00344
00348         virtual std::wstring GetSelectedWhatId() { return m_sSelectedWhatId; };
00349
00356         virtual void SetCallType(int nCallType) { m_nCallType = nCallType; };
00357
00363         virtual int GetCallType() { return m_nCallType; };
00364 };
00365
00366 typedef std::list<CCTICallLog*> CallLogList;


Salesforce.com CTI Integration: CTIAdapterLib/include/CTICheckbox.h Source File

CTICheckbox.h

00001 #pragma once
00002 #include "ctiidlabelobject.h"
00003
00009 class CCTICheckbox :
00010         public CCTIIdLabelObject
00011 {
00012 public:
00013         CCTICheckbox(std::wstring sId, std::wstring sLabel=L"");
00014         CCTICheckbox(void);
00015         virtual ~CCTICheckbox(void);
00021         virtual _bstr_t GetTag() { return "CTICheckbox"; };
00022
00023         virtual void SetChecked(bool bChecked)
00024         {
00025                 m_bChecked = bChecked;
00026                 SetAttribute(KEY_CHECKED,m_bChecked);
00027         };
00028
00029         virtual bool GetChecked() { return m_bChecked; };
00030
00031 protected:
00032         bool m_bChecked;
00033 };


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIConstants.h Source File

CTIConstants.h

00001
00002 #define AGENTSTATE_LOGOUT               L"LOGOUT"
00003 #define AGENTSTATE_NOT_READY    L"NOT_READY"
00004 #define AGENTSTATE_READY                L"READY"
00005 #define AGENTSTATE_BUSY                 L"BUSY"
00006 #define AGENTSTATE_WRAPUP               L"WRAPUP"
00007 #define AGENTSTATE_LOGGED_IN    L"LOGGED_IN"
00008
00009 #define LINE_OPEN                               0
00010 #define LINE_RINGING                    1
00011 #define LINE_ON_CALL                    2
00012 #define LINE_DIALING                    3
00013 #define LINE_ON_HOLD                    4
00014
00015 #define BUTTON_COMPLETE_TRANSFER                10
00016 #define BUTTON_COMPLETE_CONFERENCE              20
00017 #define BUTTON_ANSWER                                   30
00018 #define BUTTON_REJECT                                   40
00019 #define BUTTON_RELEASE                                  50
00020 #define BUTTON_HOLD                                             60
00021 #define BUTTON_RETRIEVE                                 70
00022 #define BUTTON_TRANSFER                                 80
00023 #define BUTTON_ACCEPT_TRANSFER                  90
00024 #define BUTTON_CONFERENCE                               100
00025 #define BUTTON_ACCEPT_CONFERENCE                110
00026 #define BUTTON_NEW_LINE                                 120
00027
00028 #define DIALPAD_ALL                                             0
00029 #define DIALPAD_DIAL                                    10
00030 #define DIALPAD_TRANSFER                                20
00031 #define DIALPAD_CONFERENCE                              30
00032 #define DIALPAD_NEW_LINE                                40
00033
00034 #define COLOR_RED                                               L"RED"
00035 #define COLOR_GREEN                                             L"GREEN"
00036 #define COLOR_BEIGE                                             L"BEIGE"
00037
00038 #define REASON_CODE_WRAPUP                              L"REASON_CODE_WRAPUP"
00039 #define REASON_CODE_NOT_READY                   L"REASON_CODE_NOT_READY"
00040 #define REASON_CODE_LOGOUT                              L"REASON_CODE_LOGOUT"
00041
00042 #define LAYOUT_INCOMING_INTERNAL                0
00043 #define LAYOUT_INCOMING_EXTERNAL                10
00044 #define LAYOUT_OUTBOUND                                 20
00045
00046 #define USERINFO_NONE                                   0
00047 #define USERINFO_TRANSFER                               10
00048 #define USERINFO_CONFERENCE                             20
00049
00050 #define CALLTYPE_OUTBOUND                               0
00051 #define CALLTYPE_INTERNAL                               1
00052 #define CALLTYPE_INBOUND                                2
00053 #define CALLTYPE_INCOMING_TRANSFER              3
00054 #define CALLTYPE_INCOMING_CONFERENCE    4
00055
00056 #define PARTYTYPE_NONE                                                          0
00057 #define PARTYTYPE_ORIGINAL_CALLER                                       1
00058 #define PARTYTYPE_TRANSFERRED_FROM                                      2
00059 #define PARTYTYPE_CONFERENCED_FROM                                      3
00060 #define PARTYTYPE_CONFERENCED_PARTY                                     4
00061
00062 #define LOG_OBJECTTYPE_WHO                                      1
00063 #define LOG_OBJECTTYPE_WHAT                                     2
00064
00065 #define LOG_MAXIMUM_RELATED_OBJECTS                     3
00066
00067 #define KEY_00001001                                                    L"00001001"
00068 #define KEY_00Q                                                                 L"00Q"
00069 #define KEY_005                                                                 L"005"
00070 #define KEY_1                                                                   L"1"
00071 #define KEY_4155551212                                                  L"4155551212"
00072 #define KEY_42028                                                               L"42028"
00073 #define KEY_50                                                                  L"50"
00074 #define KEY_60                                                                  L"60"
00075 #define KEY_8120                                                                L"8120"
00076 #define KEY_ACCEPT_CONFERENCE                                   L"ACCEPT_CONFERENCE"
00077 #define KEY_ACCEPT_TRANSFER                                             L"ACCEPT_TRANSFER"
00078 #define KEY_ADD_LOG_OBJECT                                              L"ADD_LOG_OBJECT"
00079 #define KEY_AGENTSTATE                                                  L"AGENTSTATE"
00080 #define KEY_AGENT_ID                                                    L"AGENT_ID"
00081 #define KEY_AGENT_NAME                                                  L"AGENT_NAME"
00082 #define KEY_AGENT_STATE                                                 L"AGENT_STATE"
00083 #define KEY_ALTERNATE                                                   L"ALTERNATE"
00084 #define KEY_ANI                                                                 L"ANI"
00085 #define KEY_ANSWER                                                              L"ANSWER"
00086 #define KEY_BROWSER_CONNECTOR_FILE                              L"BROWSER_CONNECTOR_FILE"
00087 #define KEY_CALLWRAPUPDATA                                              L"CALLWRAPUPDATA"
00088 #define KEY_CALL                                                                L"Call"
00089 #define KEY_CALL_CONFERENCED                                    L"CALL_CONFERENCED"
00090 #define KEY_CALL_DURATION                                               L"CALL_DURATION"
00091 #define KEY_CALL_OBJECT_ID                                              L"CALL_OBJECT_ID"
00092 #define KEY_CALL_TRANSFERRED                                    L"CALL_TRANSFERRED"
00093 #define KEY_CANCEL_CONFERENCE                                   L"CANCEL_CONFERENCE"
00094 #define KEY_CANCEL_DIAL                                                 L"CANCEL_DIAL"
00095 #define KEY_CANCEL_EDIT_CALL_LOG                                L"CANCEL_EDIT_CALL_LOG"
00096 #define KEY_CANCEL_NEW_LINE                                             L"CANCEL_NEW_LINE"
00097 #define KEY_CANCEL_TRANSFER                                             L"CANCEL_TRANSFER"
00098 #define KEY_CHECKBOX                                                    L"CHECKBOX"
00099 #define KEY_CHECKED                                                             L"CHECKED"
00100 #define KEY_CLICK_TO_DIAL                                               L"CLICK_TO_DIAL"
00101 #define KEY_COMMENTS                                                    L"COMMENTS"
00102 #define KEY_COMPLETE_CONFERENCE                                 L"COMPLETE_CONFERENCE"
00103 #define KEY_COMPLETE_TRANSFER                                   L"COMPLETE_TRANSFER"
00104 #define KEY_CONFERENCE                                                  L"CONFERENCE"
00105 #define KEY_CONFERENCED                                                 L"CONFERENCED"
00106 #define KEY_CONFERENCED_FROM                                    L"CONFERENCED_FROM"
00107 #define KEY_CONFERENCED_PARTY                                   L"CONFERENCED_PARTY"
00108 #define KEY_CONNECT                                                             L"CONNECT"
00109 #define KEY_CONNECTING                                                  L"CONNECTING"
00110 #define KEY_CONNECTION_FAILED                                   L"CONNECTION_FAILED"
00111 #define KEY_CTI_CONNECTOR_FILE                                  L"CTI_CONNECTOR_FILE"
00112 #define KEY_DIAL                                                                L"DIAL"
00113 #define KEY_DIALEDNUMBER                                                L"DIALEDNUMBER"
00114 #define KEY_DIALED_OWN_EXTENSION                                L"DIALED_OWN_EXTENSION"
00115 #define KEY_DIALING                                                             L"DIALING"
00116 #define KEY_DN                                                                  L"DN"
00117 #define KEY_DNIS                                                                L"DNIS"
00118 #define KEY_EDIT_CALL_LOG                                               L"EDIT_CALL_LOG"
00119 #define KEY_EDIT_MODE                                                   L"EDIT_MODE"
00120 #define KEY_ENABLED                                                             L"ENABLED"
00121 #define KEY_ENTER_DIAL_NUMBER                                   L"ENTER_DIAL_NUMBER"
00122 #define KEY_ENTER_LOGIN                                                 L"ENTER_LOGIN"
00123 #define KEY_ENTER_VALID_NUMBER                                  L"ENTER_VALID_NUMBER"
00124 #define KEY_ENTITY_NAME                                                 L"ENTITY_NAME"
00125 #define KEY_EXIT                                                                L"EXIT"
00126 #define KEY_EXTENSION                                                   L"EXTENSION"
00127 #define KEY_GET                                                                 L"GET"
00128 #define KEY_GREEN                                                               L"GREEN"
00129 #define KEY_HIDDEN                                                              L"HIDDEN"
00130 #define KEY_HOLD                                                                L"HOLD"
00131 #define KEY_HOLD_DURATION                                               L"HOLD_DURATION"
00132 #define KEY_HREF                                                                L"HREF"
00133 #define KEY_ID                                                                  L"ID"
00134 #define KEY_IDR_BROWSERCONNECTOR                                L"IDR_BROWSERCONNECTOR"
00135 #define KEY_IDR_DEMOADAPTER                                             L"IDR_DEMOADAPTER"
00136 #define KEY_INIT_CONFERENCE                                             L"INIT_CONFERENCE"
00137 #define KEY_INIT_TRANSFER                                               L"INIT_TRANSFER"
00138 #define KEY_INPUT                                                               L"INPUT"
00139 #define KEY_INSTANCE                                                    L"INSTANCE"
00140 #define KEY_INSTRUMENT                                                  L"INSTRUMENT"
00141 #define KEY_LABEL                                                               L"LABEL"
00142 #define KEY_LINE                                                                L"LINE"
00143 #define KEY_LINE_NUMBER                                                 L"LINE_NUMBER"
00144 #define KEY_LOGGED_IN                                                   L"LOGGED_IN"
00145 #define KEY_LOGGING_IN                                                  L"LOGGING_IN"
00146 #define KEY_LOGIN                                                               L"LOGIN"
00147 #define KEY_LOGLEVEL                                                    L"LOGLEVEL"
00148 #define KEY_LOGOUT                                                              L"LOGOUT"
00149 #define KEY_LOG_WAS_SAVED                                               L"LOG_WAS_SAVED"
00150 #define KEY_LOG_WHAT                                                    L"LOG_WHAT"
00151 #define KEY_LOG_WHO                                                             L"LOG_WHO"
00152 #define KEY_LOGIN_FAILED                                                L"LOGIN_FAILED"
00153 #define KEY_MENU                                                                L"MENU"
00154 #define KEY_MENU_CALL_FROM_IVR                                  L"MENU_CALL_FROM_IVR"
00155 #define KEY_MENU_CALL_FROM_PHONE                                L"MENU_CALL_FROM_PHONE"
00156 #define KEY_MENU_CONFERENCE_FROM_8120                   L"MENU_CONFERENCE_FROM_8120"
00157 #define KEY_MENU_TRANSFER_FROM_8120                             L"MENU_TRANSFER_FROM_8120"
00158 #define KEY_NAME                                                                L"NAME"
00159 #define KEY_NEW_LINE                                                    L"NEW_LINE"
00160 #define KEY_NO_RESULTS_FOUND                                    L"NO_RESULTS_FOUND"
00161 #define KEY_NOT_READY                                                   L"NOT_READY"
00162 #define KEY_OBJECT_LABEL                                                L"OBJECT_LABEL"
00163 #define KEY_OBJECT_NAME                                                 L"OBJECT_NAME"
00164 #define KEY_ON_CALL                                                             L"ON_CALL"
00165 #define KEY_ON_HOLD                                                             L"ON_HOLD"
00166 #define KEY_OPEN                                                                L"OPEN"
00167 #define KEY_ORIGINAL_ANI                                                L"ORIGINAL_ANI"
00168 #define KEY_ORIGINAL_CALLER                                             L"ORIGINAL_CALLER"
00169 #define KEY_PARTY1                                                              L"PARTY1"
00170 #define KEY_PARTY2                                                              L"PARTY2"
00171 #define KEY_PASSWORD                                                    L"PASSWORD"
00172 #define KEY_PERIPHERAL_ID                                               L"PERIPHERAL_ID"
00173 #define KEY_POST                                                                L"POST"
00174 #define KEY_PREVIOUS                                                    L"PREVIOUS"
00175 #define KEY_REASON_CODE                                                 L"REASON_CODE"
00176 #define KEY_REASON_CODE_LOGOUT                                  L"REASON_CODE_LOGOUT"
00177 #define KEY_REASON_CODE_NONE                                    L"REASON_CODE_NONE"
00178 #define KEY_REASON_CODE_NOT_READY                               L"REASON_CODE_NOT_READY"
00179 #define KEY_REASON_CODE_WRAPUP                                  L"REASON_CODE_WRAPUP"
00180 #define KEY_RECONNECTING                                                L"RECONNECTING"
00181 #define KEY_REJECT                                                              L"REJECT"
00182 #define KEY_RELEASE                                                             L"RELEASE"
00183 #define KEY_REPORT_TEXT                                                 L"REPORT_TEXT"
00184 #define KEY_REPORT_URL                                                  L"REPORT_URL"
00185 #define KEY_REPORT_VISIBLE                                              L"REPORT_VISIBLE"
00186 #define KEY_REPORT_YEAR                                                 L"REPORT_YEAR"
00187 #define KEY_REPORT_MONTH                                                L"REPORT_MONTH"
00188 #define KEY_REPORT_DAY                                                  L"REPORT_DAY"
00189 #define KEY_RETRIEVE                                                    L"RETRIEVE"
00190 #define KEY_RINGING                                                             L"RINGING"
00191 #define KEY_SAVE_CALL_LOG                                               L"SAVE_CALL_LOG"
00192 #define KEY_SAVE_WRAPUP                                                 L"SAVE_WRAPUP"
00193 #define KEY_SEARCHFIELD                                                 L"SEARCHFIELD"
00194 #define KEY_SEARCHVALUE                                                 L"SEARCHVALUE"
00195 #define KEY_SELECTED                                                    L"SELECTED"
00196 #define KEY_SELECT_LOG_OBJECT                                   L"SELECT_LOG_OBJECT"
00197 #define KEY_SEPARATOR                                                   L"SEPARATOR"
00198 #define KEY_SHOW_NONE                                                   L"SHOW_NONE"
00199 #define KEY_SID                                                                 L"SID"
00200 #define KEY_SS_CONFERENCE                                               L"SS_CONFERENCE"
00201 #define KEY_SS_TRANSFER                                                 L"SS_TRANSFER"
00202 #define KEY_STATE                                                               L"STATE"
00203 #define KEY_TOGGLE_DIALPAD                                              L"TOGGLE_DIALPAD"
00204 #define KEY_TOGGLE_TWISTY                                               L"TOGGLE_TWISTY"
00205 #define KEY_TRANSFER                                                    L"TRANSFER"
00206 #define KEY_TRANSFERRED                                                 L"TRANSFERRED"
00207 #define KEY_TRANSFERRED_FROM                                    L"TRANSFERRED_FROM"
00208 #define KEY_TYPE                                                                L"TYPE"
00209 #define KEY_UPDATE_COMMENTS                                             L"UPDATE_COMMENTS"
00210 #define KEY_UPDATE_LOG_SETTINGS                                 L"UPDATE_LOG_SETTINGS"
00211 #define KEY_UPDATE_SID                                                  L"UPDATE_SID"
00212 #define KEY_UPDATE_SUBJECT                                              L"UPDATE_SUBJECT"
00213 #define KEY_UPDATE_XML                                                  L"UPDATE_XML"
00214 #define KEY_VALUE                                                               L"VALUE"
00215 #define KEY_WHAT_NONE                                                   L"WHAT_NONE"
00216 #define KEY_WHO                                                                 L"WHO"
00217 #define KEY_WHO_NONE                                                    L"WHO_NONE"
00218 #define KEY_WRAPUP_QUEUED                                               L"WRAPUP_QUEUED"
00219 #define KEY_ICON_URL                                                    L"ICON_URL"
00220 #define KEY_ICON_URL                                                    L"ICON_URL"
00221 #define KEY_PRESSED_ICON_URL                                    L"PRESSED_ICON_URL"
00222 #define KEY_LINK_URL                                                    L"LINK_URL"
00223 #define KEY_COLOR                                                               L"COLOR"
00224 #define KEY_TOGGLE_BUTTON                                               L"TOGGLE_BUTTON"
00225 #define KEY_LONG_STYLE                                                  L"LONG_STYLE"
00226 #define KEY_TOGGLE_STATE                                                L"TOGGLE_STATE"
00227 #define KEY_ALLOW_SINGLE_STEP                                   L"ALLOW_SINGLE_STEP"
00228 #define KEY_NUMBER                                                              L"NUMBER"
00229 #define KEY_MINUTES                                                             L"MINUTES"
00230 #define KEY_SECONDS                                                             L"SECONDS"
00231 #define KEY_ERROR                                                               L"ERROR"
00232 #define KEY_SHOW_SAVE                                                   L"SHOW_SAVE"
00233 #define KEY_IMAGE_URL                                                   L"IMAGE_URL"
00234 #define KEY_LINK_TEXT                                                   L"LINK_TEXT"
00235 #define KEY_WINDOW_WIDTH                                                L"WINDOW_WIDTH"
00236 #define KEY_WINDOW_HEIGHT                                               L"WINDOW_HEIGHT"
00237 #define KEY_ALLOW_ALTERNATE                                             L"ALLOW_ALTERNATE"
00238 #define KEY_ALLOW_DIALPAD                                               L"ALLOW_DIALPAD"
00239 #define KEY_003                                                                 L"003"
00240 #define KEY_ORDER                                                               L"ORDER"
00241 #define KEY_TRUE                                                                L"true"
00242 #define KEY_FALSE                                                               L"false"
00243
00244 //These defines are for getting labels from SFDC
00245 #define CTI_APPLICATION_NAME L"CTI"
00246 #define CTI_APPLICATION_VERSION L"100"


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIDialpad.h Source File

CTIDialpad.h

00001 #pragma once
00002 #include "ctiobject.h"
00003
00009 class CCTIDialpad :
00010         public CCTIObject
00011 {
00012 public:
00013         CCTIDialpad(void);
00014         virtual ~CCTIDialpad(void);
00015
00016         virtual void SetType(int nDialpadType);
00017         virtual int GetType() {return m_nDialpadType;};
00018
00019         virtual void SetAllowOneStep(bool bAllowOneStep)
00020         {
00021                 m_bAllowOneStep=bAllowOneStep;
00022                 SetAttribute(KEY_ALLOW_SINGLE_STEP,bAllowOneStep);
00023         };
00024         virtual bool GetAllowOneStep() { return m_bAllowOneStep; };
00025
00031         virtual void SetNumber(std::wstring sNumber) { SetAttribute(KEY_NUMBER,sNumber); };
00036         virtual std::wstring GetNumber() { return GetAttribute(KEY_NUMBER); };
00042         virtual _bstr_t GetTag() { return "CTIDialpad"; };
00043 protected:
00044         int m_nDialpadType;
00045         bool m_bAllowOneStep;
00046 };


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIEditBox.h Source File

CTIEditBox.h

00001 #pragma once
00002 #include "CTIValueObject.h"
00003
00009 class CCTIEditBox :
00010         public CCTIValueObject
00011 {
00012 public:
00013         CCTIEditBox(std::wstring sId, std::wstring sLabel=L"");
00014         virtual ~CCTIEditBox(void);
00015
00021         virtual _bstr_t GetTag() { return "CTIEditBox"; };
00022
00029         virtual void SetPassword(bool bPassword)
00030         {
00031                 m_bPassword = bPassword;
00032                 SetAttribute(KEY_PASSWORD,m_bPassword);
00033         };
00034
00038         virtual bool GetPassword() { return m_bPassword; };
00039 protected:
00040         bool m_bPassword;
00041 };


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIField.h Source File

CTIField.h

00001 #pragma once
00002 #include "CTIValueObject.h"
00003
00009 class CCTIField :
00010         public CCTIValueObject
00011 {
00012 public:
00013         CCTIField(std::wstring sId, std::wstring sLabel,std::wstring sValue);
00014         virtual ~CCTIField(void);
00015
00021         virtual _bstr_t GetTag() { return "CTIField"; };
00022
00029         virtual void SetCheckbox(bool bCheckbox) {
00030                 SetAttribute(KEY_CHECKBOX,bCheckbox);
00031         }
00032 };
00033
00034 typedef std::list<CCTIField*> FieldList;


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIForm.h Source File

CTIForm.h

00001 #pragma once
00002 #include "ctiobject.h"
00003 #include "ctiidlabelobject.h"
00004 #include <map>
00005 #include <string>
00006 #include <typeinfo>
00007
00008 class CCTIEditBox;
00009 class CCTICheckbox;
00010 class CCTIButton;
00011 class CCTIStatic;
00012 class CCTIInfoField;
00013
00022 class CCTIForm :
00023         public CCTIObject
00024 {
00025 public:
00026         CCTIForm(void);
00027         virtual ~CCTIForm(void);
00028
00036         MSXML2::IXMLDOMDocumentFragmentPtr SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc);
00037
00044         virtual void AddChild(CCTIIdLabelObject* pChild);
00045
00051         virtual _bstr_t GetTag() { return "CTIForm"; };
00052
00061         virtual CCTIStatic* AddStatic(std::wstring sId, std::wstring sLabel=L"");
00062
00072         virtual CCTIInfoField* AddInfoField(std::wstring sId, std::wstring sLabel=L"", std::wstring sValue=L"");
00073
00083         virtual CCTIEditBox* AddEditBox(std::wstring sId, std::wstring sLabel=L"", std::wstring sValue=L"");
00084
00094         virtual CCTICheckbox* AddCheckbox(std::wstring sId, std::wstring sLabel=L"", bool bChecked=false);
00095
00104         virtual CCTIButton* AddButton(std::wstring sId, std::wstring sLabel=L"");
00105
00123         virtual void PopulateFormData(PARAM_MAP& mapFormData);
00124
00131         virtual CCTIIdLabelObject* GetChildById(std::wstring& sId);
00132 protected:
00133         IdLabelObjectList m_listChildren;
00134 };


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIIdLabelObject.h Source File

CTIIdLabelObject.h

00001 #pragma once
00002 #include "ctiobject.h"
00003 #include <string>
00004
00013 class CCTIIdLabelObject :
00014         public CCTIObject
00015 {
00016 public:
00017         CCTIIdLabelObject(void);
00018         CCTIIdLabelObject(std::wstring sId, std::wstring sLabel=L"");
00019
00020         virtual ~CCTIIdLabelObject(void);
00021         std::wstring GetId(void);
00022         virtual void SetId(std::wstring sId);
00023
00024         virtual std::wstring GetLabel(void);
00025         virtual void SetLabel(std::wstring sLabel);
00026 };
00027
00028 typedef std::map<std::wstring,CCTIIdLabelObject*> IdLabelObjectMap;
00029 typedef std::list<CCTIIdLabelObject*> IdLabelObjectList;


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIInfoField.h Source File

CTIInfoField.h

00001 #pragma once
00002 #include "CTIValueObject.h"
00003
00004 class CCTIInfoField :
00005         public CCTIValueObject
00006 {
00007 public:
00008         CCTIInfoField(std::wstring sId, std::wstring sLabel=L"");
00009         ~CCTIInfoField(void);
00010
00016         virtual _bstr_t GetTag() { return "CTIInfoField"; };
00017
00024         virtual void SetCheckbox(bool bCheckbox) {
00025                 SetAttribute(KEY_CHECKBOX,bCheckbox);
00026         }
00027
00035         virtual void SetHREF(std::wstring sUrl) {
00036                 if (!sUrl.empty()) {
00037                         SetAttribute(KEY_HREF,sUrl);
00038                 } else {
00039                         RemoveAttribute(KEY_HREF);
00040                 }
00041         }
00042 };
00043
00044 typedef std::list<CCTIInfoField*> InfoFieldList;


Salesforce.com CTI Integration: CTIAdapterLib/include/CTILine.h Source File

CTILine.h

00001 #pragma once
00002
00003 #include "CTIObject.h"
00004 #include <map>
00005 #include "ctidialpad.h"
00006 #include "CTIRelatedObjectSet.h"
00007 #include "CTIInfoField.h"
00008 #include "CTIStatic.h"
00009 #include "CTIParty.h"
00010
00011 class CCTIUserInterface;
00012 class CCTITransferConferenceInfo;
00013 class CCTITimer;
00014 class CCTIButton;
00015
00016 typedef std::map<int,CCTIButton*> ButtonMap;
00022 class CCTILine :
00023         public CCTIObject
00024 {
00025 protected:
00026         bool m_bFixed;
00027         int m_nLineNumber;
00028         bool m_bAllowAlternate;
00029         bool m_bAllowDialpad;
00030         int m_nLineState;
00031         int m_nCallType;
00032         std::wstring m_sCallObjectId;
00034         PartyList m_listParties;
00036         CCTITimer* m_pCallDuration;
00037         CCTITimer* m_pHoldDuration;
00039         ButtonMap m_mapButtons;
00040         CCTIDialpad m_dialpad;
00042         CCTIStatic m_lineStatus;
00043
00044         std::wstring m_sANI;
00046         PARAM_MAP m_mapLineCookies;
00048         CCTIUserInterface* m_pUI;
00049 public:
00057         CCTILine(CCTIUserInterface* pUI, int nLineNumber, bool bFixed=true);
00058         virtual ~CCTILine(void);
00059
00066         virtual MSXML2::IXMLDOMDocumentFragmentPtr SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc);
00067
00073         virtual int GetLineNumber() { return m_nLineNumber; };
00074
00080         virtual void SetLineNumber(int nLineNumber);
00081
00087         virtual void SetState(int nLineState);
00093         virtual int GetState();
00100         virtual std::wstring GetStringFromState(int nLineState);
00101
00107         virtual bool GetFixed() { return m_bFixed;} ;
00108
00114         virtual void SetAllowAlternate(bool bAllowAlternate)
00115         {
00116                 m_bAllowAlternate = bAllowAlternate;
00117                 SetAttribute(KEY_ALLOW_ALTERNATE,m_bAllowAlternate);
00118         };
00124         virtual bool GetAllowAlternate()
00125         {
00126                 return m_bAllowAlternate;
00127         };
00128
00135         virtual void SetAllowDialpad(bool bAllowDialpad)
00136         {
00137                 m_bAllowDialpad = bAllowDialpad;
00138                 if (!m_bAllowDialpad) {
00139                         m_dialpad.SetVisible(false);
00140                 }
00141                 SetAttribute(KEY_ALLOW_DIALPAD,m_bAllowDialpad);
00142         };
00148         virtual bool GetAllowDialpad()
00149         {
00150                 return m_bAllowDialpad;
00151         };
00152
00158         virtual CCTIDialpad* GetDialpad() { return &m_dialpad; };
00159
00165         virtual void SetCallType(int nCallType) { m_nCallType = nCallType; };
00171         virtual int GetCallType() { return m_nCallType; };
00172
00178         virtual void SetCallObjectId(std::wstring sCallObjectId);
00182         virtual std::wstring GetCallObjectId() { return m_sCallObjectId; };
00187         virtual void AddDefaultButtons();
00188
00194         virtual void EnableButtons(std::list<int>& listButtonIds);
00195
00202         virtual void ShowDialpad(int nDialpadType, bool bAllowOneStep=false);
00203
00207         virtual void HideDialpad();
00208
00219         virtual CCTIButton* AddLongButton(int nId, std::wstring sMessage, std::wstring sColor, std::wstring sLabel=L"");
00220
00231         virtual CCTIButton* AddShortButton(int nId, std::wstring sMessage, std::wstring sIconURL, std::wstring sLabel=L"");
00232
00241         virtual void AddButton(int nId, CCTIButton* pButton);
00242
00248         virtual void RemoveButton(int nId);
00252         virtual void StartCallDurationTimer();
00256         virtual void StartHoldTimer();
00260         virtual void EndCallDurationTimer();
00264         virtual void EndHoldTimer();
00265
00269         virtual void Reset();
00275         virtual int GetCallDurationSeconds();
00276
00284         virtual void ShowLineStatusBar(bool bError, std::wstring sLineStatusId, std::wstring sLineStatusLabel=L"");
00285
00289         virtual void HideLineStatusBar();
00290
00298         virtual void SetLineCookie(std::wstring sKey, std::wstring sValue)
00299         {
00300                 m_mapLineCookies[sKey]=sValue;
00301         };
00302
00311         virtual std::wstring GetLineCookie(std::wstring sKey)
00312         {
00313                 PARAM_MAP::iterator it = m_mapLineCookies.find(sKey);
00314                 if (it!=m_mapLineCookies.end()) return it->second;
00315
00316                 return L"";
00317         }
00318
00324         virtual void ClearLineCookie(std::wstring sKey)
00325         {
00326                 m_mapLineCookies.erase(sKey);
00327         }
00328
00336         virtual bool HasLineCookie(std::wstring sKey)
00337         {
00338                 return (m_mapLineCookies.find(sKey)!=m_mapLineCookies.end());
00339         }
00340
00347         virtual void AddParty(CCTIParty* pParty, int nLocation=0);
00348
00354         virtual void RemoveParty(CCTIParty* pParty);
00355
00361         virtual void RemovePartyByANI(std::wstring& sANI);
00362
00366         virtual void RemoveAllParties();
00367
00373         virtual CCTIParty* GetFirstParty();
00374
00381         CCTIParty* GetParty(int nParty);
00382
00389         CCTIParty* GetPartyByANI(std::wstring sANI);
00390
00396         virtual int GetNumberOfParties() { return (int)m_listParties.size(); };
00397 };
00398
00399 typedef std::list<CCTILine*> LineList;


Salesforce.com CTI Integration: CTIAdapterLib/include/CTILogger.h Source File

CTILogger.h

00001 #pragma once
00002
00003 #include <string>
00004 #include "CTIUtils.h"
00005
00006 #define LOGLEVEL_LOW                                    1       //This log level is for errors only
00007 #define LOGLEVEL_MED                                    2       //This one should contain errors plus some informational stuff
00008 #define LOGLEVEL_HIGH                                   3       //This logs everything that goes on
00009
00010 #define LOGTYPE_BROWSER_CONNECTOR               0
00011 #define LOGTYPE_CTI_CONNECTOR                   1
00012
00022 class CCTILogger : CCriticalSection
00023 {
00024 protected:
00032         virtual void WriteLogEntry(int nLogLevel, const wchar_t* sLogText, ...);
00038         CCTILogger(int nLogType);
00039
00040         int m_nLogType;
00041         int m_nLogLevel;
00042         int m_nMaxLogFileSize;
00043         int m_nMaxLogFiles;
00044         std::wstring m_sCtiConnectorFilePath;
00045         std::wstring m_sBrowserConnectorFilePath;
00046         FILE* m_pLogFileStream;
00051         void LoadLogInfoFromRegistry();
00055         void SaveLogInfoToRegistry();
00056
00062         FILE* GetLogFile();
00063
00070         void SetLogFiles(std::wstring& sBrowserConnectorFilePath, std::wstring& sCtiConnectorFilePath);
00071
00072         static CCTILogger* GetLogger();
00074         static CCTILogger* theLogger;
00075 public:
00076         virtual ~CCTILogger(void);
00077
00083         static void CreateLogger(int nLogType);
00084
00088         static void DestroyLogger();
00089
00096         static void Log(int nLogLevel,const wchar_t* sLogText, const wchar_t* sData1=L"", const wchar_t* sData2=L"", const wchar_t* sData3=L"",const wchar_t* sData4=L"")
00097         {
00098                 if (GetLogger()) GetLogger()->WriteLogEntry(nLogLevel,sLogText,sData1,sData2,sData3,sData4);
00099         };
00100
00101         static void Log(int nLogLevel,const wchar_t* sLogText, long nData1, const wchar_t* sData2=L"", const wchar_t* sData3=L"")
00102         {
00103                 if (GetLogger()) GetLogger()->WriteLogEntry(nLogLevel,sLogText,nData1,sData2,sData3);
00104         };
00105
00106         static void Log(int nLogLevel,const wchar_t* sLogText, long nData1, long nData2, const wchar_t* sData3=L"")
00107         {
00108                 if (GetLogger()) GetLogger()->WriteLogEntry(nLogLevel,sLogText,nData1,nData2,sData3);
00109         };
00110
00111         static void Log(int nLogLevel,const wchar_t* sLogText, const wchar_t* sData1, long nData2, const wchar_t* sData3=L"")
00112         {
00113                 if (GetLogger()) GetLogger()->WriteLogEntry(nLogLevel,sLogText,sData1,nData2,sData3);
00114         };
00115
00116         static void Log(int nLogLevel,const wchar_t* sLogText, const std::wstring& sData1)
00117         {
00118                 Log(nLogLevel,sLogText,sData1.c_str());
00119         };
00120
00121         static void Log(int nLogLevel,const wchar_t* sLogText, const std::wstring& sData1, const std::wstring& sData2)
00122         {
00123                 Log(nLogLevel,sLogText,sData1.c_str(),sData2.c_str());
00124         };
00125
00126         static void Log(int nLogLevel,const wchar_t* sLogText, const std::wstring& sData1, const wchar_t* sData2)
00127         {
00128                 Log(nLogLevel,sLogText,sData1.c_str(),sData2);
00129         };
00130
00131         static void Log(int nLogLevel,const wchar_t* sLogText, const std::wstring& sData1, const std::wstring& sData2, const std::wstring& sData3)
00132         {
00133                 Log(nLogLevel,sLogText,sData1.c_str(),sData2.c_str(),sData3.c_str());
00134         };
00135
00136         static void Log(int nLogLevel,const wchar_t* sLogText, const std::wstring& sData1, const std::wstring& sData2, const std::wstring& sData3, const std::wstring& sData4)
00137         {
00138                 Log(nLogLevel,sLogText,sData1.c_str(),sData2.c_str(),sData3.c_str(),sData4.c_str());
00139         };
00140
00141         static void Log(int nLogLevel,const wchar_t* sLogText, long nData1, const std::wstring& sData2)
00142         {
00143                 Log(nLogLevel,sLogText,nData1,sData2.c_str());
00144         };
00145
00146         static void Log(int nLogLevel,const wchar_t* sLogText, const std::wstring& sData1, long nData2)
00147         {
00148                 Log(nLogLevel,sLogText,sData1.c_str(),nData2);
00149         };
00150
00157         static std::wstring GetLogFilePath(int nLogType);
00158
00165         static void SetLogFilePaths(std::wstring sBrowserConnectorFilePath, std::wstring sCtiConnectorFilePath);
00166
00172         static void SetLogLevel(int nLogLevel)
00173         {
00174                 if (GetLogger()) {
00175                         GetLogger()->m_nLogLevel = nLogLevel;
00176                         GetLogger()->SaveLogInfoToRegistry();
00177                         CCTILogger::Log(LOGLEVEL_MED,L"Log level set to %d.",nLogLevel);
00178                 }
00179         };
00180
00186         static int GetLogLevel() { return GetLogger()->m_nLogLevel; };
00187 };


Salesforce.com CTI Integration: CTIAdapterLib/include/CTILogo.h Source File

CTILogo.h

00001 #pragma once
00002 #include "ctiobject.h"
00003 #include "ctiutils.h"
00004
00010 class CCTILogo :
00011         public CCTIObject
00012 {
00013 public:
00014         CCTILogo(void);
00015         virtual ~CCTILogo(void);
00016
00022         virtual _bstr_t GetTag() { return "CTILogo"; };
00023
00029         virtual void SetImageUrl(std::wstring sImageUrl) { SetAttribute(KEY_IMAGE_URL,sImageUrl); };
00035         virtual std::wstring GetImageUrl() { return GetAttribute(KEY_IMAGE_URL); };
00036
00042         virtual void SetLinkUrl(std::wstring sLinkUrl) { SetAttribute(KEY_LINK_URL,sLinkUrl); };
00048         virtual std::wstring GetLinkUrl() { return GetAttribute(KEY_LINK_URL); };
00049
00055         virtual void SetLinkText(std::wstring sLinkText) { SetAttribute(KEY_LINK_TEXT,sLinkText); };
00061         virtual std::wstring GetLinkText() { return GetAttribute(KEY_LINK_TEXT); };
00062
00068         virtual void SetWindowWidth(int nWindowWidth) { SetAttribute(KEY_WINDOW_WIDTH,nWindowWidth); };
00074         virtual int GetWindowWidth() { return CCTIUtils::StringToInt(GetAttribute(KEY_WINDOW_WIDTH)); };
00075
00081         virtual void SetWindowHeight(int nWindowHeight) { SetAttribute(KEY_WINDOW_HEIGHT,nWindowHeight); };
00087         virtual int GetWindowHeight() { return CCTIUtils::StringToInt(GetAttribute(KEY_WINDOW_HEIGHT)); };
00088
00089
00090 };


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIObject.h Source File

CTIObject.h

00001 #pragma once
00002 #import <msxml6.dll>
00003
00004 #include <map>
00005 #include <string>
00006 #include <list>
00007 #include <strstream>
00008
00009 #include "CTIUtils.h"
00010 #include "CTILogger.h"
00011 #include "CriticalSection.h"
00012 #include "CTIConstants.h"
00013
00020 class CCTIObject : public CCriticalSection
00021 {
00022 public:
00023         CCTIObject();
00024         virtual ~CCTIObject();
00025
00033         virtual void SetAttribute(std::wstring sName, std::wstring sValue);
00034
00042         virtual void SetAttribute(std::wstring sName, const wchar_t* sValue);
00043
00051         virtual void SetAttribute(std::wstring sName, bool bValue);
00052
00060         virtual void SetAttribute(std::wstring sName, int nValue);
00061
00067         virtual void RemoveAttribute(std::wstring sName);
00068
00075         virtual std::wstring GetAttribute(std::wstring sName);
00076
00083         virtual void SetVisible(bool bVisible);
00089         virtual bool GetVisible();
00090
00100         virtual MSXML2::IXMLDOMDocumentFragmentPtr SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc);
00101
00108         virtual void AddAttributesToElement(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pElement);
00109
00117         virtual void AddChildIfVisible(MSXML2::IXMLDOMDocumentPtr pXMLDoc, MSXML2::IXMLDOMElementPtr pXmlElement, CCTIObject* pChild);
00118
00124         virtual _bstr_t GetTag() { return "CTIObject"; };
00125 protected:
00126         PARAM_MAP m_mapAttributes;
00128         bool m_bVisible;
00129 };
00130
00131 typedef std::list<CCTIObject*> ObjectList;


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIParty.h Source File

CTIParty.h

00001 #pragma once
00002 #include "ctiobject.h"
00003 #include "ctiinfofield.h"
00004 #include "CtiRelatedObjectSet.h"
00005
00006 class CCTIUserInterface;
00007
00008 class CCTIParty :
00009         public CCTIObject
00010 {
00011 protected:
00012         CCTIUserInterface* m_pUI;
00013         InfoFieldList m_listInfoFields;
00014         RelObjSetList m_listRelatedObjectSets;
00016         int m_nType;
00017         std::wstring m_sANI;
00018 public:
00019         CCTIParty(CCTIUserInterface* pUI,std::wstring sANI,int nPartyType=0);
00020         virtual ~CCTIParty(void);
00021
00028         MSXML2::IXMLDOMDocumentFragmentPtr SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc);
00029
00037         virtual void AddInfoField(CCTIInfoField* pInfoField);
00038
00045         std::wstring GetInfoFieldValue(std::wstring sId);
00046
00055         virtual bool SetInfoFieldValue(std::wstring sId, std::wstring sValue);
00056
00067         virtual void SetInfoFields(PARAM_MAP& mapInfoFields, StringList* pListLayoutInfoFields);
00068
00072         virtual void ClearInfoFields();
00073
00079         virtual void AddRelatedObjectSets(RelObjSetList& listRelatedObjectSets);
00080
00086         void AddRelatedObjectSet(CCTIRelatedObjectSet* pSet);
00090         virtual void ClearRelatedObjectSets();
00091
00099         CCTIRelatedObjectSet* GetRelatedObjectSet(std::wstring& sObjectName);
00100
00106         virtual RelObjSetList* GetRelatedObjectSets() { return &m_listRelatedObjectSets; };
00107
00119         virtual void SetType(int nType);
00120
00124         virtual int GetType() { return m_nType; };
00125
00131         virtual void SetANI(std::wstring sANI) {
00132                 m_sANI = sANI;
00133                 SetAttribute(KEY_ANI,sANI);
00134         };
00140         virtual std::wstring GetANI() { return m_sANI; };
00141 };
00142
00143 typedef std::list<CCTIParty*> PartyList;


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIPreviousCalls.h Source File

CTIPreviousCalls.h

00001 #pragma once
00002 #include "CTICallLog.h"
00003 #include "CTIObject.h"
00004
00005
00014 class CCTIPreviousCalls : public CCTIObject
00015 {
00016 protected:
00017         bool m_bOpen;
00018         CallLogList m_listCallLogs;
00019 public:
00020         CCTIPreviousCalls();
00021         virtual ~CCTIPreviousCalls();
00022
00026         virtual void Reset();
00027
00033         virtual void SetOpen(bool bOpen);
00039         virtual bool GetOpen();
00040
00046         virtual void AddCallLog(CCTICallLog* pLog);
00047
00053         virtual void RemoveCallLog(CCTICallLog* pLog);
00054
00058         virtual void RemoveOldCallLogs();
00059
00065         virtual _bstr_t GetTag() { return "CTIPreviousCalls"; };
00066
00073         virtual CCTICallLog* GetCallLogByCallId(std::wstring& sCallObjectId);
00074
00081         virtual MSXML2::IXMLDOMDocumentFragmentPtr SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc);
00082
00088         virtual void SetReportText(std::wstring sText)
00089         {
00090                 SetAttribute(KEY_REPORT_TEXT,sText);
00091         }
00092
00103         virtual void SetReportURL(std::wstring sUrl) {
00104                 SetAttribute(KEY_REPORT_URL,sUrl);
00105         }
00106
00112         virtual void SetReportLinkVisible(bool bReportLinkVisible)
00113         {
00114                 SetAttribute(KEY_REPORT_VISIBLE,bReportLinkVisible);
00115         }
00116
00117         virtual void SetReportDate(int year, int month, int day) {
00118                 SetAttribute(KEY_REPORT_YEAR, year);
00119                 SetAttribute(KEY_REPORT_MONTH, month);
00120                 SetAttribute(KEY_REPORT_DAY, day);
00121         }
00122
00126         virtual void AddLogObject(std::wstring& sId, std::wstring& sObjectLabel, std::wstring& sObjectName, std::wstring& sEntityName);
00127 };


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIProgressBar.h Source File

CTIProgressBar.h

00001 #pragma once
00002 #include "ctiidlabelobject.h"
00003
00008 class CCTIProgressBar :
00009         public CCTIIdLabelObject
00010 {
00011 public:
00012         CCTIProgressBar();
00013         virtual ~CCTIProgressBar();
00014
00020         virtual _bstr_t GetTag() { return "CTIProgressBar"; };
00021 };


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIReasonCodeSet.h Source File

CTIReasonCodeSet.h

00001 #pragma once
00002 #include "ctiidlabelobject.h"
00003
00010 class CCTIReasonCodeSet :
00011         public CCTIIdLabelObject
00012 {
00013 protected:
00014         PARAM_MAP m_mapReasonCodes;
00015         std::wstring m_sSelectedReasonCode;
00016 public:
00017         CCTIReasonCodeSet(void);
00018         virtual ~CCTIReasonCodeSet(void);
00019         CCTIReasonCodeSet(std::wstring sId, std::wstring sLabel=L"");
00020
00024         virtual MSXML2::IXMLDOMDocumentFragmentPtr SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc);
00025
00031         virtual void SetReasonCodes(PARAM_MAP& mapReasonCodes);
00032
00038         virtual void SetCallObjectId(std::wstring& sCallObjectId) { SetAttribute(KEY_CALL_OBJECT_ID,sCallObjectId); };
00044         virtual std::wstring GetCallObjectId() { return GetAttribute(KEY_CALL_OBJECT_ID); };
00045
00051         virtual void SetSelectedReasonCode(std::wstring sId) {
00052                 m_sSelectedReasonCode = sId!=KEY_REASON_CODE_NONE?sId:L"";
00053         };
00054
00060         virtual std::wstring GetSelectedReasonCode() { return m_sSelectedReasonCode ; };
00061
00065         virtual void SelectFirstReasonCode();
00066
00072         virtual void ShowSaveButton(bool bShowSave)
00073         {
00074                 if (bShowSave) {
00075                         SetAttribute(KEY_SHOW_SAVE,bShowSave);
00076                 } else {
00077                         RemoveAttribute(KEY_SHOW_SAVE);
00078                 }
00079         }
00080
00086         virtual void ShowNone(bool bShowNone)
00087         {
00088                 if (bShowNone) {
00089                         SetAttribute(KEY_SHOW_NONE,bShowNone);
00090                 } else {
00091                         RemoveAttribute(KEY_SHOW_NONE);
00092                 }
00093         }
00094
00095 };


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIRelatedObject.h Source File

CTIRelatedObject.h

00001 #pragma once
00002 #include "ctiidlabelobject.h"
00003 #include "CTIField.h"
00004 #include <map>
00005
00011 class CCTIRelatedObject :
00012         public CCTIIdLabelObject
00013 {
00014 public:
00015         CCTIRelatedObject(std::wstring sId, std::wstring sLabel);
00016         ~CCTIRelatedObject(void);
00017
00023         virtual _bstr_t GetTag() { return "CTIRelatedObject"; };
00024
00030         virtual void AddField(CCTIField* pField);
00031
00038         virtual std::wstring GetFieldValue(std::wstring sFieldId);
00039
00046         virtual MSXML2::IXMLDOMDocumentFragmentPtr SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc);
00047 protected:
00048         std::wstring m_sName;
00049         FieldList m_listFields;
00050 };
00051
00052 typedef std::list<CCTIRelatedObject*> RelObjectList;
00053 typedef std::map<std::wstring,CCTIRelatedObject*> RelObjectMap;


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIRelatedObjectSet.h Source File

CTIRelatedObjectSet.h

00001 #pragma once
00002 #include "ctiidlabelobject.h"
00003 #include "CTIRelatedObject.h"
00004
00010 class CCTIRelatedObjectSet :
00011         public CCTIIdLabelObject
00012 {
00013 protected:
00014         RelObjectList m_listRelatedObjects;
00015         RelObjectMap m_mapRelatedObjects;
00017         std::wstring m_sSingularLabel;
00018         std::wstring m_sPluralLabel;
00019 public:
00020         CCTIRelatedObjectSet();
00021         CCTIRelatedObjectSet(std::wstring sId, std::wstring sSingularLabel, std::wstring sPluralLabel);
00022         virtual ~CCTIRelatedObjectSet(void);
00023
00029         virtual void SetSingularLabel(std::wstring& sSingularLabel) { m_sSingularLabel = sSingularLabel; };
00035         virtual std::wstring GetSingularLabel() { return m_sSingularLabel; };
00036
00042         virtual void SetPluralLabel(std::wstring& sPluralLabel) { m_sPluralLabel = sPluralLabel; };
00048         virtual std::wstring GetPluralLabel() { return m_sPluralLabel; };
00049
00055         virtual std::wstring GetObjectName() { return GetId(); };
00056
00062         virtual _bstr_t GetTag() { return "CTIRelatedObjectSet"; };
00063
00070         virtual MSXML2::IXMLDOMDocumentFragmentPtr SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc);
00071
00077         virtual RelObjectList* GetRelatedObjects() { return &m_listRelatedObjects; };
00078
00084         virtual int GetRelatedObjectCount() { return (int)m_listRelatedObjects.size(); };
00085
00091         virtual void AddRelatedObject(CCTIRelatedObject* pRelatedObject);
00092
00099         virtual CCTIRelatedObject* GetFirstObject();
00100
00107         virtual bool ContainsRelatedObject(std::wstring sId);
00108
00117         virtual void Merge(CCTIRelatedObjectSet* pSet);
00118 };
00119
00120 typedef std::list<CCTIRelatedObjectSet*> RelObjSetList;


Salesforce.com CTI Integration: CTIAdapterLib/include/CTISelectableIdLabelObject.h Source File

CTISelectableIdLabelObject.h

00001 #pragma once
00002 #include "CTIIdLabelObject.h"
00003
00010 class CCTISelectableIdLabelObject :
00011         public CCTIIdLabelObject
00012 {
00013 public:
00014         CCTISelectableIdLabelObject(bool bSelected=false);
00015         CCTISelectableIdLabelObject(std::wstring sId, std::wstring sLabel, bool bSelected=false);
00016         virtual ~CCTISelectableIdLabelObject(void) { };
00022         virtual void SetSelected(bool bSelected);
00023
00029         virtual bool GetSelected(void);
00030
00036         virtual _bstr_t GetTag() { return "CTISelectableIdLabelObject"; };
00037 protected:
00038         bool m_bSelected;
00039 };


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIStatic.h Source File

CTIStatic.h

00001 #pragma once
00002 #include "ctiidlabelobject.h"
00003
00009 class CCTIStatic :
00010         public CCTIIdLabelObject
00011 {
00012 public:
00013         CCTIStatic(std::wstring sId=L"", std::wstring sLabel=L"");
00014         ~CCTIStatic(void);
00015
00021         virtual _bstr_t GetTag() { return "CTIStaticText"; };
00022
00028         virtual void SetError(bool bError) {
00029                 m_bError = bError;
00030                 SetAttribute(KEY_ERROR,bError);
00031         };
00032
00038         virtual bool GetError() { return m_bError; };
00039 protected:
00040         bool m_bError;
00041 };


Salesforce.com CTI Integration: CTIAdapterLib/include/CTITimer.h Source File

CTITimer.h

00001 #pragma once
00002 #include "ctiidlabelobject.h"
00003 #include "ctiutils.h"
00004
00011 class CCTITimer :
00012         public CCTIIdLabelObject
00013 {
00014 public:
00015         CCTITimer(std::wstring sId, std::wstring sLabel=L"");
00016         virtual ~CCTITimer(void);
00017
00018         virtual int GetMinutes() { return m_nMinutes; };
00019         virtual void SetMinutes(int nMinutes) {
00020                 m_nMinutes = nMinutes;
00021                 SetAttribute(KEY_MINUTES,nMinutes);
00022         };
00023
00024         virtual int GetSeconds() { return m_nSeconds; };
00025         virtual void SetSeconds(int nSeconds) {
00026                 m_nSeconds = nSeconds;
00027                 SetAttribute(KEY_SECONDS,nSeconds);
00028         };
00029
00035         virtual int GetTotalSeconds();
00036
00040         virtual void Reset();
00041
00047         virtual void Start() {
00048                 m_nStartTicks = GetTickCount();
00049         };
00050
00056         virtual void Update();
00057
00063         virtual _bstr_t GetTag() { return "CTITimer"; };
00064
00065 protected:
00066         int m_nMinutes;
00067         int m_nSeconds;
00068         DWORD m_nStartTicks;
00069 };


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIUserInterface.h Source File

CTIUserInterface.h

00001 #pragma once
00002 #include "CTIObject.h"
00003 #include "CTIRelatedObjectSet.h"
00004 #include "CTIForm.h"
00005 #include "CTILine.h"
00006 #include "CTILogo.h"
00007 #include "CTIStatic.h"
00008 #include <map>
00009 #include <string>
00010 #include <list>
00011 #include "CTIProgressBar.h"
00012 #include "CTICallLog.h"
00013 #include "CTIPreviousCalls.h"
00014
00015 class CCTIAgent;
00016 class CCTIAdapter;
00017 class CCTIReasonCodeSet;
00018 class CCTIAppExchange;
00019 class CCTIButton;
00020 class CCTIParty;
00021
00022 typedef std::map<std::wstring,CCTIParty*> AniPartyMap;
00023
00031 class CCTIUserInterface :
00032         public CCTIObject
00033 {
00034 protected:
00035         CCTIForm* m_pLoginForm;
00036         CCTIAgent* m_pCTIAgent;
00037         LineList m_listLines;
00038         CCTIReasonCodeSet* m_pReasonCodeSet;
00039         CCTIAppExchange* m_pAppExchange;
00041         CCTIStatic m_statusBar;
00042         CCTIProgressBar m_progressBar;
00043         CCTILogo m_logo;
00045         bool m_bConnected;
00046         bool m_bLoggedIn;
00047         bool m_bAutoLogin;
00049         std::wstring m_sCurrentUserName;
00051         int m_nNumberOfFixedLines;
00052         std::wstring m_sAgentState;
00053         bool m_bQueuedLogin;
00055         CCTIAdapter* m_pAdapter;
00057         bool m_bEnableOneStepTransfer;
00058         bool m_bEnableOneStepConference;
00060         bool m_bNotReadyReasonRequired;
00061         bool m_bLogoutReasonRequired;
00062         bool m_bShowWrapupSaveButton;
00063         bool m_bWrapupCodeRequired;
00065         PARAM_MAP m_mapWrapupReasonCodes;
00066         PARAM_MAP m_mapNotReadyReasonCodes;
00067         PARAM_MAP m_mapLogoutReasonCodes;
00069         bool m_bAutoReconnect;
00070         PARAM_MAP m_mapConnectionParams;
00072         PARAM_MAP m_mapUserParams;
00074         PARAM_MAP m_mapQueuedMakeCall;
00075         bool m_bQueuedLogout;
00077         PARAM_MAP m_mapInfoFieldLabels;
00078         AniPartyMap m_mapANIToParties;
00080         std::wstring m_sDialOutCode;
00081         std::wstring m_sDomesticDialCode;
00082         std::wstring m_sInternationalDialCode;
00084         CCTIPreviousCalls* m_pPreviousCalls;
00085         CallLogList m_listCallLogs;
00086         std::wstring m_sLastEndedCallId;
00087         std::wstring m_sLastTransferredCallId;
00089         std::wstring m_sExtension;
00091         // Last call parameters
00092         std::wstring m_sId;
00093         std::wstring m_sEntityName;
00094         std::wstring m_sLastDN;
00096         bool m_bUseAsynchronousSearch;
00098         bool m_bAllowAgentStateArea;
00107         virtual CCTIParty* CreateParty(std::wstring sANI, int nPartyType=0);
00108
00118         virtual CCTICallLog* CreateCallLog(int nLineNumber,std::wstring& sCallObjectId,int nCallType);
00119
00126         void DestroyParty(CCTIParty* pParty);
00127
00131         virtual void DestroyParties();
00132 public:
00139         CCTIUserInterface(CCTIAdapter* pAdapter,int nNumberOfFixedLines);
00140         ~CCTIUserInterface(void);
00141
00146         virtual void UIRefresh();
00147
00154         virtual void UIParseIncomingXMLMessage(BSTR xmlMessage);
00155
00163         virtual void Initialize();
00168         virtual void DestroyChildren();
00169
00176         virtual MSXML2::IXMLDOMDocumentFragmentPtr SerializeToXML(MSXML2::IXMLDOMDocumentPtr pXMLDoc);
00177
00187         virtual void SetWrapupCodeRequired(bool bRequired) { m_bWrapupCodeRequired=bRequired; };
00193         virtual bool GetWrapupCodeRequired() { return m_bWrapupCodeRequired; };
00194
00200         virtual void SetNotReadyReasonRequired(bool bRequired) { m_bNotReadyReasonRequired=bRequired; };
00206         virtual bool GetNotReadyReasonRequired() { return m_bNotReadyReasonRequired; };
00207
00213         virtual void SetLogoutReasonRequired(bool bRequired) { m_bLogoutReasonRequired=bRequired; };
00219         virtual bool GetLogoutReasonRequired() { return m_bLogoutReasonRequired; };
00220
00226         virtual void SetShowWrapupSaveButton(bool bShowWrapupSaveButton) { m_bShowWrapupSaveButton=bShowWrapupSaveButton; };
00232         virtual bool GetShowWrapupSaveButton() { return m_bShowWrapupSaveButton; };
00233
00241         virtual void UIShowReasonCodes(PARAM_MAP& mapReasonCodes, std::wstring sReasonCodeId);
00242
00246         virtual void UIShowWrapupCodes();
00252         virtual void SetWrapupReasonCodes(PARAM_MAP& mapReasonCodes);
00258         virtual PARAM_MAP* GetWrapupReasonCodes();
00259
00263         virtual void UIShowNotReadyReasonCodes();
00269         virtual void SetNotReadyReasonCodes(PARAM_MAP& mapReasonCodes);
00275         virtual PARAM_MAP* GetNotReadyReasonCodes();
00276
00280         virtual void UIShowLogoutReasonCodes();
00286         virtual void SetLogoutReasonCodes(PARAM_MAP& mapReasonCodes);
00292         virtual PARAM_MAP* GetLogoutReasonCodes();
00293
00299         void SetUserParametersMap(PARAM_MAP& mapSource) { m_mapUserParams = mapSource; };
00300
00306         CCTILine* GetNextAvailableFixedLine();
00307
00315         virtual bool GetConnected() { return m_bConnected; } ;
00316
00322         virtual void SetConnected(bool bConnected) { m_bConnected=bConnected; } ;
00323
00331         virtual bool GetLoggedIn() { return m_bLoggedIn; } ;
00332
00338         virtual void SetLoggedIn(bool bLoggedIn);
00339
00343         virtual bool GetUseAsynchronousSearch() { return m_bUseAsynchronousSearch; } ;
00344
00350         virtual void SetUseAsynchronousSearch(bool bUseAsynchronousSearch)
00351         {
00352                 m_bUseAsynchronousSearch = bUseAsynchronousSearch;
00353         };
00354
00360         virtual bool GetAutoLogin() { return m_bAutoLogin; } ;
00361
00367         virtual void SetAutoLogin(bool bAutoLogin) { m_bAutoLogin=bAutoLogin; } ;
00368
00369         /*****************************************
00370          *   Events                              *
00371          *                                       *
00372          *****************************************/
00373
00377         virtual void OnCTIConnection();
00383         virtual void OnCTIConnectionFailed(std::wstring sErrorMessage=L"");
00387         virtual void OnCTIConnectionClosed();
00388
00396         virtual void OnButtonEnablementChange(std::list<int>& listEnabledButtons, bool bSendUpdatedXML=true);
00397
00406         virtual void OnButtonEnablementChange(int nLine, std::list<int>& listEnabledButtons, bool bSendUpdatedXML=true);
00407
00414         virtual void OnAgentStateEnablementChange(std::list<std::wstring>& listEnabledAgentStates, std::wstring& sAgentState);
00415
00421         virtual void OnAgentStateChange(std::wstring& sAgentState);
00422
00443         virtual int OnCallRinging(std::wstring sCallObjectId, int nCallType, bool bPerformSearch, bool bLogCall, PARAM_MAP& mapInfoFields, PARAM_MAP& mapAttachedData, int nLineNumber=NULL);
00444
00459         virtual int OnCallDialing(std::wstring sCallObjectId, PARAM_MAP& mapInfoFields,bool bPerformSearch,bool bLogCall,int nLineNumber=NULL, int nCallType=CALLTYPE_OUTBOUND);
00460
00466         virtual void OnCallEstablished(std::wstring sCallObjectId);
00467
00479         virtual void OnCallEnd(std::wstring sCallObjectId, bool bMoveCallLogToPrevious=true);
00480
00486         virtual void OnCallHeld(std::wstring sCallObjectId);
00487
00493         virtual void OnCallRetrieved(std::wstring sCallObjectId);
00494
00500         virtual void OnCallTransferred(std::wstring sCallObjectId);
00501
00508         virtual void OnCallConferenced(std::wstring sCallObjectId,StringList listParties);
00509
00517         virtual void OnCallPartyDropped(std::wstring& sCallObjectId, std::wstring& sANI);
00518
00533         virtual void OnCallAttemptFailed(std::wstring sErrorMessageId, std::wstring sErrorMessage, std::wstring sCallObjectId=L"", int nLine=0);
00534
00535         /***********************************************************************************
00536          *   Beginning of commands section                                                 *
00537          *                                                                                 *
00538          ***********************************************************************************/
00539
00540         /***********************************************************************************
00541          *   Commands that generally don't need to be overridden                           *
00542          *   (see below for commands that must be overridden)                              *
00543          ***********************************************************************************/
00544
00554         virtual void UIUpdateSid(PARAM_MAP& parameters);
00555
00564         virtual void CallUpdateComments(PARAM_MAP& parameters);
00565
00574         virtual void CallUpdateSubject(PARAM_MAP& parameters);
00575
00584         virtual void CallClickToDial(PARAM_MAP& parameters);
00585
00594         virtual void UIShowDialpad(int nLineNumber, int nDialpadType, bool bUpdateXML);
00595
00603         virtual void UIHideDialpad(int nLineNumber, int nDialpadType, bool bUpdateXML);
00604
00613         virtual void CallAttachSingleItem(std::wstring sCallObjectId, std::wstring sKey, std::wstring sValue)
00614         {
00615                 PARAM_MAP mapAttachedData;
00616                 mapAttachedData[sKey] = sValue;
00617                 CallAttachData(sCallObjectId,mapAttachedData);
00618         };
00619
00630         virtual void UIAddLogObject(PARAM_MAP& parameters);
00631
00639         virtual void CallSelectLogObject(PARAM_MAP& parameters);
00640
00648         virtual void UIToggleTwisty(PARAM_MAP& parameters);
00649
00657         virtual void UIEditCallLog(PARAM_MAP& parameters);
00658
00666         virtual void UISaveCallLog(PARAM_MAP& parameters);
00667
00675         virtual void UICancelEditCallLog(PARAM_MAP& parameters);
00676
00683         virtual void UIMoveCallLogToPreviousCalls(CCTICallLog* pLog, bool bRemoveFromCurrentList=true);
00684
00690         virtual void UIMakePreviousCallLogCurrent(CCTICallLog* pLog);
00691
00703         virtual bool CTIIsOccupiedAgentState(std::wstring sAgentState);
00704
00711         virtual void UIUpdateSavedCallLog(std::wstring sCallObjectId, std::wstring sId);
00712
00713         /***********************************************************************************
00714          *   Commands that should always be overridden                                     *
00715          *                                                                                 *
00716          ***********************************************************************************/
00717
00725         virtual void CTIConnect(PARAM_MAP& parameters);
00726
00733         virtual void CTIDisconnect(PARAM_MAP& parameters) { };
00734
00741         virtual void CTILogin(PARAM_MAP& parameters);
00748         virtual void CTILogout(PARAM_MAP& parameters) { };
00755         virtual void CallInitiate(PARAM_MAP& parameters);
00756
00763         virtual void CallRelease(PARAM_MAP& parameters) { };
00770         virtual void CallAnswer(PARAM_MAP& parameters) { };
00777         virtual void CallHold(PARAM_MAP& parameters) { };
00784         virtual void CallAlternate(PARAM_MAP& parameters) { };
00791         virtual void CallRetrieve(PARAM_MAP& parameters) { };
00800         virtual void CallInitiateTransfer(PARAM_MAP& parameters);
00809         virtual void CallInitiateConference(PARAM_MAP& parameters);
00818         virtual void CallOneStepTransfer(PARAM_MAP& parameters);
00827         virtual void CallOneStepConference(PARAM_MAP& parameters);
00834         virtual void CallCompleteTransfer(PARAM_MAP& parameters) { };
00841         virtual void CallCompleteConference(PARAM_MAP& parameters) { };
00851         virtual void CallSetWrapupCode(PARAM_MAP& parameters);
00852
00857         virtual void CallSaveWrapup();
00858
00867         virtual void CTIChangeAgentState(PARAM_MAP& parameters)
00868         {
00869                 //The user is explicitly logging out, so turn off autologin for now
00870                 if (parameters[KEY_ID]==AGENTSTATE_LOGOUT) {
00871                         SetAutoLogin(false);
00872                 }
00873         };
00874
00886         virtual void CallAttachData(std::wstring sCallObjectId, PARAM_MAP mapAttachedData) { };
00887
00895         virtual void CallUnattachData(std::wstring sCallObjectId, std::wstring sKey) { };
00896
00897         /***********************************************************************************
00898          *   End of commands section                                                       *
00899          *                                                                                 *
00900          ***********************************************************************************/
00901
00909         virtual void UIHandleMessage(std::wstring& message, PARAM_MAP& parameters);
00910
00916         virtual int GetNumberOfFixedLines();
00917
00925         virtual int GetNumberOfLines();
00926
00935         virtual CCTILine* GetLine(int nLineNumber);
00936
00943         virtual CCTILine* CCTIUserInterface::GetLineByCallId(const std::wstring& sCallObjectId);
00944
00953         virtual void SetChildrenVisible(bool bAgentsVisible, bool bLinesVisible, bool bReasonCodesVisible,bool bCallLogsVisible);
00954
00961         virtual void SetOneStepTransferEnabled(bool bEnable) { m_bEnableOneStepTransfer = bEnable; };
00962
00968         virtual bool GetOneStepTransferEnabled() { return m_bEnableOneStepTransfer; };
00969
00976         virtual void SetOneStepConferenceEnabled(bool bEnable) { m_bEnableOneStepConference = bEnable; };
00977
00983         virtual bool GetOneStepConferenceEnabled() { return m_bEnableOneStepConference; };
00984
00990         virtual void SetAutoReconnect(bool bAutoReconnect) { m_bAutoReconnect = bAutoReconnect; };
00991
00997         virtual bool GetAutoReconnect() { return m_bAutoReconnect; };
00998
01006         virtual CCTIForm* CreateLoginForm();
01007
01015         virtual void CallAttachUserInfo(int nLineNumber, int nUserInfoType);
01016
01022         virtual void SetCurrentUserName(std::wstring sUserName) { m_sCurrentUserName = sUserName; };
01026         virtual std::wstring GetCurrentUserName() { return m_sCurrentUserName; };
01027
01033         virtual void SetLastEndedCallId(std::wstring sCallId) { m_sLastEndedCallId = sCallId; };
01037         virtual std::wstring GetLastEndedCallId() { return m_sLastEndedCallId; };
01038
01044         virtual void SetLastTransferredCallId(std::wstring sCallId) { m_sLastTransferredCallId = sCallId; };
01048         virtual std::wstring GetLastTransferredCallId() { return m_sLastTransferredCallId; };
01049
01057         virtual void UIAddButtonToAllLines(int nButtonId, CCTIButton* pButton);
01058
01064         virtual void UIRemoveButtonFromAllLines(int nButtonId);
01065
01073         virtual void UIAddAgentState(std::wstring sId, int nOrder, std::wstring sLabel);
01074
01082         virtual CCTIAppExchange* GetAppExchange();
01083
01090         virtual void SetLogoImageUrl(std::wstring sImageUrl) {
01091                 m_logo.SetImageUrl(sImageUrl);
01092         }
01093
01100         virtual CCTILine* CreateVirtualLine(std::wstring sCallObjectId);
01106         virtual void DestroyVirtualLine(CCTILine* pLine);
01107
01114         virtual std::wstring GetCallObjectIdFromLine(int nLineNumber);
01115
01121         virtual void SetAllowDialpadForAllLines(bool bAllowDialpad);
01122
01128         virtual void QueueCallInitiate(PARAM_MAP& parameters);
01129
01135         virtual void QueueCTIChangeAgentState(PARAM_MAP& parameters);
01136
01140         virtual void UIHideProgressBar();
01147         virtual void UIShowProgressBar(std::wstring sId, std::wstring sLabel=L"");
01148
01156         virtual void UIAllowAgentArea(bool bAllowAgentStateArea) { m_bAllowAgentStateArea=bAllowAgentStateArea; };
01157
01161         virtual void UIHideStatusBar();
01169         virtual void UIShowStatusBar(bool bError, std::wstring sId, std::wstring sLabel=L"");
01170
01176         virtual void QueueCTILogin(PARAM_MAP& parameters);
01177
01181         virtual void UIHideLineStatusBars();
01182
01189         virtual void SetInfoFieldLabel(std::wstring sId, std::wstring sLabel)
01190         {
01191                 m_mapInfoFieldLabels[sId]=sLabel;
01192         }
01193
01200         virtual std::wstring GetInfoFieldLabel(std::wstring sId)
01201         {
01202                 PARAM_MAP::iterator it = m_mapInfoFieldLabels.find(sId);
01203                 if (it!=m_mapInfoFieldLabels.end()) {
01204                         return it->second;
01205                 }
01206                 return L"";
01207         }
01208
01217         virtual void SetPartyANI(CCTIParty* pParty, std::wstring sANI);
01218
01228         virtual bool CallChangeCallObjectId(const std::wstring& sOldCallObjectId,const std::wstring& sNewCallObjectId);
01229
01236         virtual CCTICallLog* GetCallLogForLine(int nLineNumber);
01237
01244         CCTICallLog* GetCallLogForCallId(const std::wstring& sCallObjectId);
01245
01251         virtual void SetDialOutCode(std::wstring sDialOutCode) {
01252                 m_sDialOutCode=sDialOutCode;
01253         }
01257         virtual std::wstring GetDialOutCode() { return m_sDialOutCode; };
01258
01264         virtual void SetDomesticDialCode(std::wstring sDomesticDialCode) {
01265                 m_sDomesticDialCode=sDomesticDialCode;
01266         }
01270         virtual std::wstring GetDomesticDialCode() { return m_sDomesticDialCode; };
01271
01277         virtual void SetInternationalDialCode(std::wstring sInternationalDialCode) {
01278                 m_sInternationalDialCode=sInternationalDialCode;
01279         }
01283         virtual std::wstring GetInternationalDialCode() { return m_sInternationalDialCode; };
01284
01297         virtual void UIAddLogObjectByCallId(std::wstring& sCallObjectId, std::wstring& sId, std::wstring& sObjectLabel, std::wstring& sObjectName, std::wstring& sEntityName, bool bAttachToCall);
01298
01302         virtual void UIClearCallLogs();
01303
01309         virtual void SanitizeDN(PARAM_MAP& parameters);
01310
01311
01317         virtual void SetExtension(std::wstring& sExtension);
01318
01324         virtual std::wstring GetExtension() { return m_sExtension; };
01325
01329         virtual CCTIPreviousCalls* GetPreviousCallLogs() { return m_pPreviousCalls; };
01330
01334         virtual bool GetAllLinesOpen();
01335
01341         virtual std::wstring GetCurrentAgentState();
01342 };


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIUtils.h Source File

CTIUtils.h

00001 #pragma once
00002
00003 #include <string>
00004 #include <comutil.h>
00005 #include <map>
00006 #include <list>
00007 #include <algorithm>
00008 #include "CriticalSection.h"
00009
00010 #define OFFICE_TOOLKIT_PROGID OLESTR("SForceOfficeToolkit4.SForceSession4.1")
00011
00012 typedef std::map<std::wstring,std::wstring> PARAM_MAP;
00013 typedef std::list<std::wstring> StringList;
00014 typedef std::list<_bstr_t> BSTRList;
00015
00016 typedef std::pair<std::wstring,std::wstring> StringPair;
00017 typedef std::list<StringPair> PairList;
00018
00024 class CCTIUtils
00025 {
00026 public:
00027         CCTIUtils(void);
00028         ~CCTIUtils(void);
00029
00030         /*****************************************
00031          *   Utility functions                   *
00032          *                                       *
00033          *****************************************
00034
00035          Since we're working in a COM-based environment, these are handy to have around.
00036          */
00037
00044         static inline std::wstring CCTIUtils::VariantToString(VARIANT& variant)
00045         {
00046                 if (variant.vt!=VT_BOOL) {
00047                         _bstr_t bs(variant);
00048                         return std::wstring(static_cast<const wchar_t*>(bs));
00049                 } else {
00050                         return (variant.boolVal==VARIANT_TRUE?L"true":L"false");
00051                 }
00052         }
00053
00060         static inline _variant_t CCTIUtils::StringToVariant(const std::wstring& str)
00061         {
00062                 return _variant_t(str.c_str());
00063         }
00064
00071         static inline std::wstring CCTIUtils::BSTRToString(const _bstr_t bString)
00072         {
00073                 if(bString.length()==0) return L"";
00074                 return std::wstring((wchar_t*)bString);
00075         }
00076
00083         static inline _bstr_t CCTIUtils::StringToBSTR(const std::wstring& str)
00084         {
00085                 _bstr_t bs(str.c_str());
00086                 return bs;
00087         }
00088
00095         static inline std::wstring CCTIUtils::ToUpperCase(const std::wstring& str)
00096         {
00097                 std::wstring sReturn=str;
00098                 transform (sReturn.begin(),sReturn.end(), sReturn.begin(), toupper);
00099                 return sReturn;
00100         }
00101
00108         static inline std::wstring IntToString(int nNumber)
00109         {
00110                 wchar_t sInt[65];
00111                 _itow(nNumber,sInt,10);
00112                 return std::wstring(sInt);
00113         }
00114
00121         static inline int CCTIUtils::StringToInt(std::wstring sNumber) {
00122                 return _wtoi(sNumber.c_str());
00123         }
00124
00133         static inline std::wstring CCTIUtils::SearchAndReplace(
00134                 const std::wstring& p_target,
00135                 const std::wstring& p_search,
00136                 const std::wstring& p_replace )
00137         {
00138                 std::wstring str( p_target );
00139                 std::wstring::size_type i = str.find( p_search );
00140
00141                 // loop while replacing all occurrences
00142                 while( i != std::wstring::npos )
00143                 {
00144                         str.replace( i, p_search.size(), p_replace );
00145                         i = str.find( p_search, i + p_replace.size() );
00146                 }
00147
00148                 return str;
00149         }
00150
00159         static std::wstring BytesToHexString(BYTE* pBuf, UINT nLength)
00160         {
00161                 std::wstring result;
00162                 for ( UINT i=0; i < nLength; i++)
00163                 {
00164
00165                         wchar_t hexByte[3];
00166                         if (pBuf[i] == 0) {
00167                                 swprintf(hexByte, L"00");
00168                         }
00169                         else if (pBuf[i] <= 15)         {
00170                                 swprintf(hexByte, L"0%x",pBuf[i]);
00171                         }
00172                         else {
00173                                 swprintf(hexByte, L"%x",pBuf[i]);
00174                         }
00175
00176                         result += hexByte;
00177                 }
00178                 return result;
00179         }
00180
00188         static void HexStringToBytes(std::wstring hexString, BYTE* pBuf, UINT nNumBytes)
00189         {
00190                 for (UINT i=0; i < nNumBytes && i<(hexString.size()/2); i++){
00191                         int nextByte;
00192                         swscanf(hexString.c_str() + (2 * i), L"%2x", &nextByte);
00193                         pBuf[i] = (BYTE)nextByte;
00194                 }
00195         }
00196
00205         static std::wstring GetStrippedPhoneNumber(std::wstring& sOriginal, bool bStripStarAndHash=true)
00206         {
00207                 //Create a "stripped" version of the number, with just the digits
00208                 const wchar_t* pszOriginal = sOriginal.c_str();
00209                 wchar_t* sStrippedDN = new wchar_t[sOriginal.length()+1];
00210                 int nStrippedPosition = 0;
00211                 for (UINT i=0;i<sOriginal.length();i++) {
00212                         //For some reason, the isdigit function occasionally crashes, so we'll use the ascii codes instead.
00213                         if ((sOriginal.at(i)>='0' && sOriginal.at(i)<='9') ||
00214                                 (!bStripStarAndHash && (sOriginal.at(i)=='#' || sOriginal.at(i)=='*'))) {
00215                                 sStrippedDN[nStrippedPosition] = pszOriginal[i];
00216                                 nStrippedPosition++;
00217                         }
00218                 }
00219                 //Null terminator
00220                 sStrippedDN[nStrippedPosition]=NULL;
00221
00222                 std::wstring sReturn = sStrippedDN;
00223                 delete sStrippedDN;
00224                 return sReturn;
00225         }
00226
00236         static bool StringBeginsWith(std::wstring& sBase, std::wstring& sPrefix)
00237         {
00238                 if (sPrefix.length()>sBase.length()) return false;
00239                 std::wstring::iterator itBase = sBase.begin();
00240
00241                 for (std::wstring::iterator itPrefix = sPrefix.begin();itPrefix!=sPrefix.end();itPrefix++) {
00242                         if (*itPrefix!=*itBase) {
00243                                 return false;
00244                         }
00245                         itBase++;
00246                 }
00247
00248                 //If we're here, then all the prefix letters checked out, so the base does indeed begin with the prefix
00249                 return true;
00250         }
00251
00261         static bool StringBeginsWith(std::wstring& sBase, wchar_t* sPrefix)
00262         {
00263                 return StringBeginsWith(sBase,std::wstring(sPrefix));
00264         }
00265
00275         static bool StringEndsWith(std::wstring& sBase, std::wstring& sPostfix)
00276         {
00277                 if (sPostfix.length()>sBase.length()) return false;
00278                 std::wstring::reverse_iterator itBase = sBase.rbegin();
00279
00280                 for (std::wstring::reverse_iterator itPostfix = sPostfix.rbegin();itPostfix!=sPostfix.rend();itPostfix++) {
00281                         if (*itPostfix!=*itBase) {
00282                                 return false;
00283                         }
00284                         itBase++;
00285                 }
00286
00287                 //If we're here, then all the prefix letters checked out, so the base does indeed begin with the prefix
00288                 return true;
00289         }
00290
00291
00302         static int Split(const std::wstring& sSource, const std::wstring& sDelimiter, StringList& listOutput, std::wstring::size_type nInitialOffset=0)
00303         {
00304                 int nSplits = 1;
00305
00306                 std::wstring::size_type offset = nInitialOffset;
00307                 std::wstring::size_type sDelimiterIndex = 0;
00308
00309                 sDelimiterIndex = sSource.find(sDelimiter, offset);
00310
00311                 while (sDelimiterIndex != std::wstring::npos)
00312                 {
00313                         std::wstring sSplitString = sSource.substr(offset, sDelimiterIndex - offset);
00314                         if (!sSplitString.empty()) {
00315                                 listOutput.push_back(sSplitString);
00316                                 nSplits++;
00317                         }
00318                         offset += sDelimiterIndex - offset + sDelimiter.length();
00319                         sDelimiterIndex = sSource.find(sDelimiter, offset);
00320                 }
00321
00322                 listOutput.push_back(sSource.substr(offset));
00323
00324                 return nSplits;
00325         };
00326
00333         static std::wstring ReverseString(const std::wstring& sInput)
00334         {
00335                 std::wstring sReturnString = sInput;
00336                 std::reverse(sReturnString.begin(),sReturnString.end());
00337
00338                 return sReturnString;
00339         }
00340
00341 };
00342
00343
00352 #define BEGIN_FOREACH_QUERYRESULT(pQueryResults,pSObject) \
00353                 if (pQueryResults) {\
00354                         IUnknownPtr e = pQueryResults->Get_NewEnum();\
00355                         IEnumVARIANT* pEnum;\
00356                         ULONG lFetch;\
00357                         CComVariant vtQueryResult;\
00358                         ISObject4Ptr pSObject = NULL;\
00359                         HRESULT hr = e->QueryInterface( IID_IEnumVARIANT, (void**) &pEnum );\
00360                         while (pEnum->Next( 1, &vtQueryResult, &lFetch ) == S_OK && lFetch==1)\
00361                         {\
00362                                 SError queryResultError = pQueryResults->Error;\
00363                                 if(queryResultError==NO_SF_ERROR)\
00364                                 {\
00365                                         pSObject = vtQueryResult.pdispVal;\
00366                                         vtQueryResult.Clear();
00367
00371 #define END_FOREACH_QUERYRESULT() \
00372                                 }\
00373                         }\
00374                 }


Salesforce.com CTI Integration: CTIAdapterLib/include/CTIValueObject.h Source File

CTIValueObject.h

00001 #pragma once
00002 #include "ctiidlabelobject.h"
00003
00010 class CCTIValueObject :
00011         public CCTIIdLabelObject
00012 {
00013 public:
00014         CCTIValueObject(std::wstring sId, std::wstring sLabel=L"");
00015         ~CCTIValueObject(void);
00016
00020         virtual std::wstring GetValue() { return GetAttribute(KEY_VALUE); };
00021
00027         virtual void SetValue(std::wstring sValue) { SetAttribute(KEY_VALUE,sValue); };
00028
00036         virtual void PopulateValueFromMap(PARAM_MAP& mapValues);
00037 };


Salesforce.com CTI Integration: Graph Legend

Graph Legend

This page explains how to interpret the graphs that are generated by doxygen.

Consider the following example:

/*! Invisible class because of truncation */
class Invisible { };

/*! Truncated class, inheritance relation is hidden */
class Truncated : public Invisible { };

/* Class not documented with doxygen comments */
class Undocumented { };

/*! Class that is inherited using public inheritance */
class PublicBase : public Truncated { };

/*! A template class */
template<class T> class Templ { };

/*! Class that is inherited using protected inheritance */
class ProtectedBase { };

/*! Class that is inherited using private inheritance */
class PrivateBase { };

/*! Class that is used by the Inherited class */
class Used { };

/*! Super class that inherits a number of other classes */
class Inherited : public PublicBase,
                  protected ProtectedBase,
                  private PrivateBase,
                  public Undocumented
                  public Templ<int>
{
  private:
    Used *m_usedClass;
};
If the MAX_DOT_GRAPH_HEIGHT tag in the configuration file is set to 240 this will result in the following graph:

The boxes in the above graph have the following meaning:

  • A filled black box represents the struct or class for which the graph is generated.
  • A box with a black border denotes a documented struct or class.
  • A box with a grey border denotes an undocumented struct or class.
  • A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
The arrows have the following meaning:
  • A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • A dark green arrow is used for protected inheritance.
  • A dark red arrow is used for private inheritance.
  • A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible.
  • A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance.
Generated on Fri Sep 7 09:25:47 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CTIAdapterLib/include/ISalesforceCTIAdapter.h Source File

ISalesforceCTIAdapter.h

00001 #define ISalesforceCTIAdapter_IID "38AEB740-2427-4B69-ABD2-5F114666AAE8"
00002
00003 #define DISPID_UIRefresh 1
00004
00005 // ISalesforceCTIAdapter
00006 [
00007         object,
00008         uuid("38AEB740-2427-4B69-ABD2-5F114666AAE8"),
00009         dual,   helpstring("ISalesforceCTIAdapter Interface"),
00010         pointer_default(unique)
00011 ]
00012 __interface ISalesforceCTIAdapter : IDispatch
00013 {
00014         [id(1), helpstring("Sends an action to the CTI adapter")] HRESULT UIAction([in] BSTR message);
00015         [id(2), helpstring("Returns the author and name of the current adapter")] HRESULT GetAdapterName([out, retval] BSTR* Value);
00016         [id(3), helpstring("Returns a string representing the version of the current adapter")] HRESULT GetAdapterVersion([out, retval] BSTR* Value);
00017 };
00018
00019
00020 // _ISalesforceCTIAdapterEvents
00021 [
00022         dispinterface,
00023         uuid("7385BF7C-4440-44CC-BB33-B29D8759AD88"),
00024         helpstring("_ISalesforceCTIAdapterEvents Interface")
00025 ]
00026 __interface _ISalesforceCTIAdapterEvents : public IDispatch
00027 {
00028         [id(DISPID_UIRefresh), helpstring("method UIRefresh")] HRESULT UIRefresh(BSTR pXMLUI);
00029         [id(0x2), helpstring("Notifies the Browser Connector that the adapter tray menu has changed.")] HRESULT UpdateTrayMenu(BSTR xmlMenu);
00030 };


Salesforce.com CTI Integration: Main Page

Salesforce.com CTI Integration Documentation

1

  • Main Page
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • Directories
  • File List
  • Class Members
Generated on Fri Sep 7 09:25:43 2007 for Salesforce.com CTI Integration by doxygen 1.4.4


Salesforce.com CTI Integration: CTIAdapterLib/stdafx.h Source File

CTIAdapterLib

stdafx.h

00001 // stdafx.h : include file for standard system include files,
00002 // or project specific include files that are used frequently, but
00003 // are changed infrequently
00004 //
00005
00006 #pragma once
00007
00008
00009 #define WIN32_LEAN_AND_MEAN             // Exclude rarely-used stuff from Windows headers
00010
00011 #ifndef WINVER                          // Allow use of features specific to Windows 95 and Windows NT 4 or later.
00012 #define WINVER 0x0400           // Change this to the appropriate value to target Windows 98 and Windows 2000 or later.
00013 #endif
00014
00015 #ifndef _WIN32_WINNT            // Allow use of features specific to Windows NT 4 or later.
00016 #define _WIN32_WINNT 0x0400     // Change this to the appropriate value to target Windows 2000 or later.
00017 #endif
00018
00019 #ifndef _WIN32_WINDOWS          // Allow use of features specific to Windows 98 or later.
00020 #define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
00021 #endif
00022
00023 #ifndef _WIN32_IE                       // Allow use of features specific to IE 4.0 or later.
00024 #define _WIN32_IE 0x0400        // Change this to the appropriate value to target IE 5.0 or later.
00025 #endif
00026
00027 // TODO: reference additional headers your program requires here
00028 #include <atlbase.h>
00029 #include <atlcom.h>
00030 #include <atlwin.h>
00031 #include <atltypes.h>
00032 #include <atlctl.h>
00033 #include <atlhost.h>
00034
00035
00036 using namespace ATL;