class DefaultLogic

The client's default logic. More...

Full nameTelEngine::DefaultLogic
Definition#include <yatecbase.h>
InheritsTelEngine::ClientLogic [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Methods

Public Static Methods

Protected Methods

Protected Members


Detailed Description

This class implements the default client behaviour.

explicit  DefaultLogic (const char* name = "default", int prio = -100)

DefaultLogic

Constructor

Parameters:
nameThe name of this logic
prioThe priority of this logic

 ~DefaultLogic ()

~DefaultLogic

Destructor

bool  action (Window* wnd, const String& name, NamedList* params = 0)

action

[virtual]

Handle actions from user interface

Parameters:
wndThe window in which the user did something
nameThe action's name
paramsOptional action parameters

Returns: True if the action was handled

Reimplemented from ClientLogic.

bool  toggle (Window* wnd, const String& name, bool active)

toggle

[virtual]

Handle actions from checkable widgets

Parameters:
wndThe window in which the user did something
nameThe object's name
activeObject's state

Returns: True if the action was handled by a client logic

Reimplemented from ClientLogic.

bool  select (Window* wnd, const String& name, const String& item, const String& text = String::empty())

select

[virtual]

Handle 'select' actions from user interface

Parameters:
wndThe window in which the user did something
nameThe object's name
itemItem identifying the selection
textSelection's text

Returns: True if the action was handled

Reimplemented from ClientLogic.

bool  setClientParam (const String& param, const String& value, bool save, bool update)

setClientParam

[virtual]

Set a client's parameter. Save the settings file and/or update interface

Parameters:
paramParameter's name
valueThe value of the parameter
saveTrue to save the configuration file
updateTrue to update the interface

Returns: True on success

Reimplemented from ClientLogic.

bool  imIncoming (Message& msg)

imIncoming

[virtual]

Process an IM message

Parameters:
msgThe im.execute of chan.text message

Reimplemented from ClientLogic.

bool  callIncoming (Message& msg, const String& dest)

callIncoming

[virtual]

Call execute handler called by the client. The default logic ask the client to build an incoming channel

Parameters:
msgThe call.execute message
destThe destination (target)

Returns: True if a channel was created and connected

Reimplemented from ClientLogic.

bool  validateCall (NamedList& params, Window* wnd = 0)

validateCall

[virtual]

Check presence of all necessary data to make a call

Parameters:
paramsList of call parameters
wndOptional window containing the widget that triggered the action

Returns: True on success

Reimplemented from ClientLogic.

bool  callStart (NamedList& params, Window* wnd = 0, const String& cmd = String::empty())

callStart

[virtual]

Called when the user trigger a call start action The default logic fill the parameter list and ask the client to create an outgoing channel

Parameters:
paramsList of call parameters
wndOptional window containing the widget that triggered the action
cmdOptional command (widget name)

Returns: True on success

Reimplemented from ClientLogic.

bool  digitPressed (NamedList& params, Window* wnd = 0)

digitPressed

[virtual]

Called when a digit is pressed. The default logic will send the digit(s) as DTMFs on the active channel

Parameters:
paramsList of parameters. It should contain a 'digits' parameter
wndOptional window containing the widget that triggered the action

Returns: True on success

bool  editAccount (bool newAcc, NamedList* params, Window* wnd = 0)

editAccount

[virtual]

Called when the user wants to add a new account or edit an existing one

Parameters:
newAccTrue to add a new account, false to edit an exisiting one
paramsInitial parameters
wndOptional window containing the widget that triggered the action

Returns: True on success

Reimplemented from ClientLogic.

bool  acceptAccount (NamedList* params, Window* wnd = 0)

acceptAccount

[virtual]

Called when the user wants to save account data

Parameters:
paramsInitial parameters
wndOptional window containing the widget that triggered the action

Returns: True on success

Reimplemented from ClientLogic.

bool  delAccount (const String& account, Window* wnd = 0)

delAccount

[virtual]

Called when the user wants to delete an existing account

Parameters:
accountThe account's name. Set to empty to delete the current selection
wndOptional window containing the widget that triggered the action

Returns: True on success

Reimplemented from ClientLogic.

bool  updateAccount (const NamedList& account, bool login, bool save)

updateAccount

[virtual]

Add/set an account

Parameters:
accountThe account's parameters. The name of the list must be the account's name
loginTrue to login the account
saveTrue to save the accounts file. If true and file save fails the method will fail

Returns: True on success

Reimplemented from ClientLogic.

bool  loginAccount (const NamedList& account, bool login)

loginAccount

[virtual]

Login/logout an account

Parameters:
accountThe account's parameters. The name of the list must be the account's name
loginTrue to login the account, false to logout

Returns: True on success

Reimplemented from ClientLogic.

bool  updateContact (const NamedList& contact, bool save, bool update)

updateContact

[virtual]

Add/set a contact

Parameters:
contactThe contact's parameters. The name of the list must be the contacts's id (name). If it starts with 'client/' this is a contact updated from server: it can't be changed
saveTrue to save data to contacts file
updateTrue to update the interface

Returns: True on success

Reimplemented from ClientLogic.

bool  acceptContact (NamedList* params, Window* wnd = 0)

acceptContact

[virtual]

Called when the user wants to save account data

Parameters:
paramsInitial parameters
wndOptional window containing the widget that triggered the action

Returns: True on success

Reimplemented from ClientLogic.

bool  editContact (bool newCont, NamedList* params = 0, Window* wnd = 0)

editContact

[virtual]

Called when the user wants to add a new contact or edit an existing one

Parameters:
newContTrue to add a new contact, false to edit an existing one
paramsOptional initial parameters
wndOptional window containing the widget that triggered the action

Returns: True on success

Reimplemented from ClientLogic.

bool  delContact (const String& contact, Window* wnd = 0)

delContact

[virtual]

Called when the user wants to delete an existing contact

Parameters:
contactThe contact's id. Set to empty to delete the current selection
wndOptional window containing the widget that triggered the action

Returns: True on success

Reimplemented from ClientLogic.

bool  callContact (NamedList* params = 0, Window* wnd = 0)

callContact

[virtual]

Called when the user wants to call an existing contact

Parameters:
paramsOptional parameters
wndOptional window containing the widget that triggered the action

Returns: True on success

Reimplemented from ClientLogic.

bool  updateProviders (const NamedList& provider, bool save, bool update)

updateProviders

[virtual]

Add/set account providers data

Parameters:
providerThe provider's parameters. The name of the list must be the provider's id (name)
saveTrue to save data to providers file
updateTrue to update the interface

Returns: True on success

Reimplemented from ClientLogic.

bool  callLogUpdate (const NamedList& params, bool save, bool update)

callLogUpdate

[virtual]

Update the call log history

Parameters:
paramsCall log data
saveTrue to save data to history file
updateTrue to update the interface

Returns: True

Reimplemented from ClientLogic.

bool  callLogDelete (const String& billid)

callLogDelete

[virtual]

Remove a call log item

Parameters:
billidThe bill id of the call

Returns: True on success

Reimplemented from ClientLogic.

bool  callLogClear (const String& table, const String& direction)

callLogClear

[virtual]

Clear the specified log and the entries from the history file and save the history file

Parameters:
tableTebale to clear
directionThe call direction to clear (incoming,outgoing). Note that the direction is the value saved from call.cdr messages. If empty, all log entries will be cleared

Returns: True

Reimplemented from ClientLogic.

bool  callLogCall (const String& billid, Window* wnd = 0)

callLogCall

[virtual]

Make an outgoing call to a target picked from the call log

Parameters:
billidThe bill id of the call
wndOptional window starting the action

Returns: True on success (call initiated)

Reimplemented from ClientLogic.

bool  callLogCreateContact (const String& billid)

callLogCreateContact

[virtual]

Create a contact from a call log entry

Parameters:
billidThe bill id of the call

Returns: True on success (address book popup window was displayed)

Reimplemented from ClientLogic.

bool  help (const String& action, Window* wnd)

help

[virtual]

Process help related actions

Parameters:
actionThe action's name
wndThe window owning the control

Returns: True on success

Reimplemented from ClientLogic.

bool  calltoLoaded ()

calltoLoaded

[virtual]

Called by the client after loaded the callto history file

Returns: True to tell the client to stop notifying other logics

Reimplemented from ClientLogic.

void  loadedWindows ()

loadedWindows

[virtual]

Called by the client after loaded the windows

Reimplemented from ClientLogic.

void  initializedWindows ()

initializedWindows

[virtual]

Called by the client after loaded and intialized the windows

Reimplemented from ClientLogic.

bool  initializedClient ()

initializedClient

[virtual]

Called by the client after loaded and intialized the windows and loaded configuration files. The default logic update client settings

Returns: True to stop processing this notification

Reimplemented from ClientLogic.

void  exitingClient ()

exitingClient

[virtual]

Called by the client before exiting. The default logic save client settings

Reimplemented from ClientLogic.

bool  handleUiAction (Message& msg, bool& stopLogic)

handleUiAction

[virtual]

Process ui.action message

Parameters:
msgReceived message
stopLogicSet to true on exit to tell the client to stop asking other logics

Returns: True to stop further processing by the engine

Reimplemented from ClientLogic.

bool  handleCallCdr (Message& msg, bool& stopLogic)

handleCallCdr

[virtual]

Process call.cdr message

Parameters:
msgReceived message
stopLogicSet to true on exit to tell the client to stop asking other logics

Returns: True to stop further processing by the engine

Reimplemented from ClientLogic.

bool  handleUserLogin (Message& msg, bool& stopLogic)

handleUserLogin

[virtual]

Process user.login message

Parameters:
msgReceived message
stopLogicSet to true on exit to tell the client to stop asking other logics

Returns: True to stop further processing by the engine

Reimplemented from ClientLogic.

bool  handleUserNotify (Message& msg, bool& stopLogic)

handleUserNotify

[virtual]

Process user.notify message

Parameters:
msgReceived message
stopLogicSet to true on exit to tell the client to stop asking other logics

Returns: True to stop further processing by the engine

Reimplemented from ClientLogic.

bool  handleUserRoster (Message& msg, bool& stopLogic)

handleUserRoster

[virtual]

Process user.roster message

Parameters:
msgReceived message
stopLogicSet to true on exit to tell the client to stop asking other logics

Returns: True to stop further processing by the engine

Reimplemented from ClientLogic.

bool  handleResourceNotify (Message& msg, bool& stopLogic)

handleResourceNotify

[virtual]

Process resource.notify message

Parameters:
msgReceived message
stopLogicSet to true on exit to tell the client to stop asking other logics

Returns: True to stop further processing by the engine

Reimplemented from ClientLogic.

bool  handleResourceSubscribe (Message& msg, bool& stopLogic)

handleResourceSubscribe

[virtual]

Process resource.subscribe message

Parameters:
msgReceived message
stopLogicSet to true on exit to tell the client to stop asking other logics

Returns: True to stop further processing by the engine

Reimplemented from ClientLogic.

bool  handleClientChanUpdate (Message& msg, bool& stopLogic)

handleClientChanUpdate

[virtual]

Process clientchan.update message

Parameters:
msgReceived message
stopLogicSet to true on exit to tell the client to stop asking other logics

Returns: True to stop further processing by the engine

Reimplemented from ClientLogic.

bool  handleContactInfo (Message& msg, bool& stopLogic)

handleContactInfo

[virtual]

Process contact.info message

Parameters:
msgReceived message
stopLogicSet to true on exit to tell the client to stop asking other logics

Returns: True to stop further processing by the engine

Reimplemented from ClientLogic.

bool  defaultMsgHandler (Message& msg, int id, bool& stopLogic)

defaultMsgHandler

[virtual]

Default message processor called for id's not defined in client. Descendants may override it to process custom messages installed by them and relayed through the client

Parameters:
msgReceived message
idMessage id
stopLogicSet to true on exit to tell the client to stop asking other logics

Returns: True to stop further processing by the engine

Reimplemented from ClientLogic.

void  updateSelectedChannel (const String* item = 0)

updateSelectedChannel

[virtual]

Update from UI or from a given value the selected item in channels list. The selected channel may not be the active one

Parameters:
itemOptional new value for current selection. Set to 0 to upadte from UI

void  engineStart (Message& msg)

engineStart

[virtual]

Engine start notification. Connect startup accounts

Parameters:
msgThe engine.start message

Reimplemented from ClientLogic.

inline String&  buildAccountId (String& accId, const String& proto, const String& user, const String& host)

buildAccountId

[static]

Build an account id from protocol, username, host

Parameters:
accIdDestination string
protoAccount protocol
userAccount username
hostAccount host

Returns: Destination string address

void  idleTimerTick (Time& time)

idleTimerTick

[protected virtual]

Method called by the client when idle. This method is called in the UI's thread

Parameters:
timeThe current time

Reimplemented from ClientLogic.

bool  enableCallActions (const String& id)

enableCallActions

[protected virtual]

Enable call actions for a selected channel

Parameters:
idChannel id

Returns: True on success

bool  fillCallStart (NamedList& p, Window* wnd = 0)

fillCallStart

[protected virtual]

Fill call start parameter list from UI

Parameters:
pThe list of parameters to fill
wndOptional window owning the widget triggering the action

Returns: True on success

void  channelSelectionChanged (const String& old)

channelSelectionChanged

[protected virtual]

Notification on selection changes in channels list. Enable call actions for currently selected channel

Parameters:
oldThe old selection

void  fillContactEditActive (NamedList& list, bool active, const String* item = 0, bool del = true)

fillContactEditActive

[protected virtual]

Fill contact edit/delete active parameters

Parameters:
listDestination list
activeTrue to activate, false to deactivate
itemOptional selected item to check in contacts list if active
delTrue to fill delete active parameter

void  fillLogContactActive (NamedList& list, bool active, const String* item = 0)

fillLogContactActive

[protected virtual]

Fill log contact active parameter

Parameters:
listDestination list
activeTrue to activate, false to deactivate
itemOptional selected item to check in calls log list if active

bool  clearList (const String& action, Window* wnd)

clearList

[protected virtual]

Clear a list/table. Handle specific lists like CDR, accounts, contacts

Parameters:
actionThe list. May contain an optional confirmation text to display. Format: 'list_name[:confirmation_text]'
wndWindow owning the list/table

Returns: True on success

bool  deleteItem (const String& list, const String& item, Window* wnd, bool confirm)

deleteItem

[protected virtual]

Delete a list/table item. Handle specific lists like CDR, accounts, contacts, mucs

Parameters:
listThe list
itemItem to delete
wndWindow owning the list/table
confirmRequest confirmation for known list

Returns: True on success

bool  deleteCheckedItems (const String& list, Window* wnd, bool confirm)

deleteCheckedItems

[protected virtual]

Handle list/table checked items deletion. Handle specific lists like CDR, accounts, contacts

Parameters:
listThe list
wndWindow owning the list/table
confirmRequest confirmation for known list

Returns: True on success

bool  deleteSelectedItem (const String& action, Window* wnd, bool checked = false)

deleteSelectedItem

[protected virtual]

Handle list/table selection or checked items deletion. Handle specific lists like CDR, accounts, contacts

Parameters:
actionAction to handle. May contain an optional confirmation text to display. Format: 'list_name[:confirmation_text]'
wndWindow owning the list/table
checkedSet it to true to handle checked items deletion

Returns: True on success

bool  handleTextChanged (NamedList* params, Window* wnd)

handleTextChanged

[protected virtual]

Handle text changed notification

Parameters:
paramsNotification parameters
wndWindow notifying the event

Returns: True if handled

bool  handleFileTransferAction (const String& name, Window* wnd, NamedList* params = 0)

handleFileTransferAction

[protected virtual]

Handle file transfer actions

Parameters:
nameAction name
wndWindow notifying the event
paramsOptional action parameters

Returns: True if handled

bool  handleFileTransferNotify (Message& msg, bool& stopLogic)

handleFileTransferNotify

[protected virtual]

Handle file transfer notifications. This method is called from logic message handler

Parameters:
msgNotification message
stopLogicStop notifying other logics if set to true on return

Returns: True if handled

bool  handleUserData (Message& msg, bool& stopLogic)

handleUserData

[protected virtual]

Handle user.data messages.

Parameters:
msgThe message
stopLogicStop notifying other logics if set to true on return

Returns: True if handled

void  notifyGenericError (const String& text, const String& account = String::empty(), const String& contact = String::empty(), const char* title = "Error")

notifyGenericError

[protected virtual]

Show a generic notification

Parameters:
textNotification text
accountOptional concerned account
contactOptional concerned contact
titleNotification title

void  notifyNoAudio (bool show, bool micOk = false, bool speakerOk = false, ClientChannel* chan = 0)

notifyNoAudio

[protected virtual]

Show/hide no audio notification

Parameters:
showShow or hide notification
micOkFalse if microphone open failed
speakerOkFalse if speaker open failed
chanOptional failed channel

void  updateChatRoomsContactList (bool load, ClientAccount* acc, MucRoom* room = 0)

updateChatRoomsContactList

[protected virtual]

(Un)Load account's saved chat rooms or a specific room in contact list

Parameters:
loadTrue to load, false to unload
accThe account owning the chat rooms
roomThe room to update, ignored if acc is not 0

void  joinRoom (MucRoom* room, bool force = false)

joinRoom

[protected virtual]

Join a MUC room. Create/show chat. Update its status

Parameters:
roomThe room
forceTrue to disconnect if connecting or online and re-connect

String m_selectedChannel

m_selectedChannel

[protected]

String m_transferInitiated

m_transferInitiated

[protected]


Generated by: paulc on bussard on Fri Dec 21 16:28:34 2012, using kdoc 2.0a54.