Yate: ClientLogic Class Reference

Yate

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
ClientLogic Class Reference

Base class for all client logics. More...

`#include <yatecbase.h>`

Inheritance diagram for ClientLogic:

## Public Member Functions
virtual | ~ClientLogic ()
const String & | name () const
int | priority () const
virtual const String & | toString () const
bool | setParams (const NamedList &params)
virtual bool | action (Window *wnd, const String &name, NamedList *params=0)
virtual bool | toggle (Window *wnd, const String &name, bool active)
virtual bool | select (Window *wnd, const String &name, const String &item, const String &text=String::empty())
virtual bool | select (Window *wnd, const String &name, const NamedList &items)
virtual bool | setClientParam (const String &param, const String &value, bool save, bool update)
virtual bool | imIncoming (Message &msg)
virtual bool | callIncoming (Message &msg, const String &dest)
virtual bool | validateCall (NamedList &params, Window *wnd=0)
virtual bool | callStart (NamedList &params, Window *wnd=0, const String &cmd=String::empty())
virtual bool | line (const String &name, Window *wnd=0)
virtual bool | display (NamedList &params, bool widget, Window *wnd=0)
virtual bool | backspace (const String &name, Window *wnd=0)
virtual bool | command (const String &name, Window *wnd=0)
virtual bool | debug (const String &name, bool active, Window *wnd=0)
virtual bool | editAccount (bool newAcc, NamedList *params, Window *wnd=0)
virtual bool | acceptAccount (NamedList *params, Window *wnd=0)
virtual bool | delAccount (const String &account, Window *wnd=0)
virtual bool | updateAccount (const NamedList &account, bool login, bool save)
virtual bool | loginAccount (const NamedList &account, bool login)
virtual bool | updateContact (const NamedList &contact, bool save, bool update)
virtual bool | acceptContact (NamedList *params, Window *wnd=0)
virtual bool | editContact (bool newCont, NamedList *params=0, Window *wnd=0)
virtual bool | delContact (const String &contact, Window *wnd=0)
virtual bool | callContact (NamedList *params=0, Window *wnd=0)
virtual bool | updateProviders (const NamedList &provider, bool save, bool update)
virtual bool | callLogUpdate (const NamedList &params, bool save, bool update)
virtual bool | callLogDelete (const String &billid)
virtual bool | callLogClear (const String &table, const String &direction)
virtual bool | callLogCall (const String &billid, Window *wnd=0)
virtual bool | callLogCreateContact (const String &billid)
virtual bool | help (const String &action, Window *wnd)
virtual bool | calltoLoaded ()
virtual void | loadedWindows ()
virtual void | initializedWindows ()
virtual bool | initializedClient ()
virtual void | exitingClient ()
virtual bool | handleUiAction (Message &msg, bool &stopLogic)
virtual bool | handleCallCdr (Message &msg, bool &stopLogic)
virtual bool | handleUserLogin (Message &msg, bool &stopLogic)
virtual bool | handleUserNotify (Message &msg, bool &stopLogic)
virtual bool | handleUserRoster (Message &msg, bool &stopLogic)
virtual bool | handleResourceNotify (Message &msg, bool &stopLogic)
virtual bool | handleResourceSubscribe (Message &msg, bool &stopLogic)
virtual bool | handleClientChanUpdate (Message &msg, bool &stopLogic)
virtual bool | handleContactInfo (Message &msg, bool &stopLogic)
virtual bool | defaultMsgHandler (Message &msg, int id, bool &stopLogic)
virtual void | engineStart (Message &msg)
virtual bool | addDurationUpdate (DurationUpdate *duration, bool autoDelete=false)
virtual bool | removeDurationUpdate (const String &name, bool delObj=false)
virtual bool | removeDurationUpdate (DurationUpdate *duration, bool delObj=false)
virtual DurationUpdate * | findDurationUpdate (const String &name, bool ref=true)
virtual void | clearDurationUpdate ()
virtual void | destruct ()
Public Member Functions inherited from GenObject
| GenObject ()
virtual | ~GenObject ()
virtual bool | alive () const
virtual const String & | traceId () const
virtual void * | getObject (const String &name) const
NamedCounter * | getObjCounter () const
NamedCounter * | setObjCounter (NamedCounter *counter)

## Static Public Member Functions
static const String & | cdrRemoteParty (const NamedList &params, bool outgoing)
static const String & | cdrRemoteParty (const NamedList &params)
static void | initStaticData ()
static bool | saveContact (Configuration &cfg, ClientContact *c, bool save=true)
static bool | clearContact (Configuration &cfg, ClientContact *c, bool save=true)
Static Public Member Functions inherited from GenObject
static void * | getObject (const String &name, const GenObject *obj)
static bool | getObjCounting ()
static void | setObjCounting (bool enable)
static NamedCounter * | getObjCounter (const String &name, bool create=true)
static ObjList & | getObjCounters ()

## Static Public Attributes
static ObjList | s_accOptions
static const char * | s_provParams []
static ObjList | s_protocols
static Mutex | s_protocolsMutex

## Protected Member Functions
| ClientLogic (const char *name, int priority)
virtual void | idleTimerTick (Time &time)

## Protected Attributes
ObjList | m_durationUpdate
Mutex | m_durationMutex

## Friends
class | Client

## Detailed Description

Base class for all client logics.

This class implements the logic behind different actions in the client. It specifies the way the graphical interface of the client will behave in different circumstances.

## Constructor & Destructor Documentation

virtual ~ClientLogic | ( |  | ) |
| virtual

Destructor. Remove itself from the client's list

ClientLogic | ( | const char * | name,
|  | int | priority
| ) |  |
| protected

Constructor. Append itself to the client's list

Parameters

  name | The name of this logic (module)
  priority | The priority of this logic

## Member Function Documentation

virtual bool acceptAccount | ( | NamedList * | params,
|  | Window * | wnd = `0`
| ) |  |
| inlinevirtual

Called when the user wants to save account data

Parameters

  params | Initial parameters
  wnd | Optional window containing the widget that triggered the action

Returns
  True on success

Reimplemented in DefaultLogic.

virtual bool acceptContact | ( | NamedList * | params,
|  | Window * | wnd = `0`
| ) |  |
| inlinevirtual

Called when the user wants to save account data

Parameters

  params | Initial parameters
  wnd | Optional window containing the widget that triggered the action

Returns
  True on success

Reimplemented in DefaultLogic.

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

Handle actions from user interface

Parameters

  wnd | The window in which the user did something
  name | The action's name
  params | Optional action parameters

Returns
  True if the action was handled

Reimplemented in DefaultLogic.

virtual bool addDurationUpdate | ( | DurationUpdate * | duration,
|  | bool | autoDelete = `false`
| ) |  |
| virtual

Add a duration object to this client's list

Parameters

  duration | The object to add
  autoDelete | True to delete the object when the list is cleared

Returns
  True on success

virtual bool backspace | ( | const String & | name,
|  | Window * | wnd = `0`
| ) |  |
| virtual

Erase the last digit from the given widget and set focus on it

Parameters

  name | The widget (it might be the window itself)
  wnd | Optional window containing the widget that triggered the action

Returns
  True on success

virtual bool callContact | ( | NamedList * | params = `0`,
|  | Window * | wnd = `0`
| ) |  |
| inlinevirtual

Called when the user wants to call an existing contact

Parameters

  params | Optional parameters
  wnd | Optional window containing the widget that triggered the action

Returns
  True on success

Reimplemented in DefaultLogic.

virtual bool callIncoming | ( | Message & | msg,
|  | const String & | dest
| ) |  |
| inlinevirtual

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

Parameters

  msg | The call.execute message
  dest | The destination (target)

Returns
  True if a channel was created and connected

Reimplemented in DefaultLogic.

virtual bool callLogCall | ( | const String & | billid,
|  | Window * | wnd = `0`
| ) |  |
| inlinevirtual

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

Parameters

  billid | The bill id of the call
  wnd | Optional window starting the action

Returns
  True on success (call initiated)

Reimplemented in DefaultLogic.

virtual bool callLogClear | ( | const String & | table,
|  | const String & | direction
| ) |  |
| inlinevirtual

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

Parameters

  table | Tebale to clear
  direction | The 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 in DefaultLogic.

virtual bool callLogCreateContact | ( | const String & | billid | ) |
| inlinevirtual

Create a contact from a call log entry

Parameters

  billid | The bill id of the call

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

Reimplemented in DefaultLogic.

virtual bool callLogDelete | ( | const String & | billid | ) |
| inlinevirtual

Remove a call log item

Parameters

  billid | The bill id of the call

Returns
  True on success

Reimplemented in DefaultLogic.

virtual bool callLogUpdate | ( | const NamedList & | params,
|  | bool | save,
|  | bool | update
| ) |  |
| inlinevirtual

Update the call log history

Parameters

  params | Call log data
  save | True to save data to history file
  update | True to update the interface

Returns
  True

Reimplemented in DefaultLogic.

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

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

  params | List of call parameters
  wnd | Optional window containing the widget that triggered the action
  cmd | Optional command (widget name)

Returns
  True on success

Reimplemented in DefaultLogic.

virtual bool calltoLoaded | ( |  | ) |
| inlinevirtual

Called by the client after loaded the callto history file

Returns
  True to tell the client to stop notifying other logics

Reimplemented in DefaultLogic.

static const String& cdrRemoteParty | ( | const NamedList & | params,
|  | bool | outgoing
| ) |  |
| inlinestatic

Retrieve the remote party from CDR parameters

Parameters

  params | CDR parameters
  outgoing | True if the call was an outgoing one

Returns
  The remote party (may be empty)

References TelEngine::YSTRING().

Referenced by ClientLogic::cdrRemoteParty().

static const String& cdrRemoteParty | ( | const NamedList & | params | ) |
| inlinestatic

Retrieve the remote party from CDR parameters

Parameters

  params | CDR parameters

Returns
  The remote party (may be empty)

References ClientLogic::cdrRemoteParty(), String::empty(), and TelEngine::YSTRING().

static bool clearContact | ( | Configuration & | cfg,
|  | ClientContact * | c,
|  | bool | save = `true`
| ) |  |
| static

Delete a contact from a configuration file

Parameters

  cfg | The configuration file
  c | The contact to delete
  save | True to save the file

Returns
  True on success

virtual void clearDurationUpdate | ( |  | ) |
| virtual

Remove all duration objects

virtual bool command | ( | const String & | name,
|  | Window * | wnd = `0`
| ) |  |
| virtual

Enqueue an engine.command message

Parameters

  name | The command line
  wnd | Optional window containing the widget that triggered the action

Returns
  True on success

virtual bool debug | ( | const String & | name,
|  | bool | active,
|  | Window * | wnd = `0`
| ) |  |
| virtual

Enqueue an engine.debug message.

Parameters

  name | The debug action content (following the prefix). The format of this parameter must be 'module:active-true:active-false'. The line parameter of the message will be filled with 'active-true' if active is true and with 'active-false' if active is false
  active | The widget's state
  wnd | Optional window containing the widget that triggered the action

Returns
  True on success

virtual bool defaultMsgHandler | ( | Message & | msg,
|  | int | id,
|  | bool & | stopLogic
| ) |  |
| inlinevirtual

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

  msg | Received message
  id | Message id
  stopLogic | Set to true on exit to tell the client to stop asking other logics

Returns
  True to stop further processing by the engine

Reimplemented in DefaultLogic.

virtual bool delAccount | ( | const String & | account,
|  | Window * | wnd = `0`
| ) |  |
| inlinevirtual

Called when the user wants to delete an existing account

Parameters

  account | The account's name. Set to empty to delete the current selection
  wnd | Optional window containing the widget that triggered the action

Returns
  True on success

Reimplemented in DefaultLogic.

virtual bool delContact | ( | const String & | contact,
|  | Window * | wnd = `0`
| ) |  |
| inlinevirtual

Called when the user wants to delete an existing contact

Parameters

  contact | The contact's id. Set to empty to delete the current selection
  wnd | Optional window containing the widget that triggered the action

Returns
  True on success

Reimplemented in DefaultLogic.

virtual void destruct | ( |  | ) |
| virtual

Release memory. Remove from client's list

Reimplemented from GenObject.

virtual bool display | ( | NamedList & | params,
|  | bool | widget,
|  | Window * | wnd = `0`
| ) |  |
| virtual

Show/hide widget(s) or window(s) on 'display'/'show' action.

Parameters

  params | Widget(s) or window(s) to show/hide
  widget | True if the operation indicates widget(s), false otherwise
  wnd | Optional window owning the widget(s) to show or hide

Returns
  False if failed to show/hide all widgets/windows

virtual bool editAccount | ( | bool | newAcc,
|  | NamedList * | params,
|  | Window * | wnd = `0`
| ) |  |
| inlinevirtual

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

Parameters

  newAcc | True to add a new account, false to edit an exisiting one
  params | Initial parameters
  wnd | Optional window containing the widget that triggered the action

Returns
  True on success

Reimplemented in DefaultLogic.

virtual bool editContact | ( | bool | newCont,
|  | NamedList * | params = `0`,
|  | Window * | wnd = `0`
| ) |  |
| inlinevirtual

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

Parameters

  newCont | True to add a new contact, false to edit an existing one
  params | Optional initial parameters
  wnd | Optional window containing the widget that triggered the action

Returns
  True on success

Reimplemented in DefaultLogic.

virtual void engineStart | ( | Message & | msg | ) |
| inlinevirtual

Engine start notification

Parameters

  msg | The engine.start message

Reimplemented in DefaultLogic.

virtual void exitingClient | ( |  | ) |
| inlinevirtual

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

Reimplemented in DefaultLogic.

virtual DurationUpdate* findDurationUpdate | ( | const String & | name,
|  | bool | ref = `true`
| ) |  |
| virtual

Find a duration update by its name

Parameters

  name | The name of the object to find
  ref | True to increase its reference counter before returning

Returns
  DurationUpdate pointer or 0

virtual bool handleCallCdr | ( | Message & | msg,
|  | bool & | stopLogic
| ) |  |
| inlinevirtual

Process call.cdr message

Parameters

  msg | Received message
  stopLogic | Set to true on exit to tell the client to stop asking other logics

Returns
  True to stop further processing by the engine

Reimplemented in DefaultLogic.

virtual bool handleClientChanUpdate | ( | Message & | msg,
|  | bool & | stopLogic
| ) |  |
| inlinevirtual

Process clientchan.update message

Parameters

  msg | Received message
  stopLogic | Set to true on exit to tell the client to stop asking other logics

Returns
  True to stop further processing by the engine

Reimplemented in DefaultLogic.

virtual bool handleContactInfo | ( | Message & | msg,
|  | bool & | stopLogic
| ) |  |
| inlinevirtual

Process contact.info message

Parameters

  msg | Received message
  stopLogic | Set to true on exit to tell the client to stop asking other logics

Returns
  True to stop further processing by the engine

Reimplemented in DefaultLogic.

virtual bool handleResourceNotify | ( | Message & | msg,
|  | bool & | stopLogic
| ) |  |
| inlinevirtual

Process resource.notify message

Parameters

  msg | Received message
  stopLogic | Set to true on exit to tell the client to stop asking other logics

Returns
  True to stop further processing by the engine

Reimplemented in DefaultLogic.

virtual bool handleResourceSubscribe | ( | Message & | msg,
|  | bool & | stopLogic
| ) |  |
| inlinevirtual

Process resource.subscribe message

Parameters

  msg | Received message
  stopLogic | Set to true on exit to tell the client to stop asking other logics

Returns
  True to stop further processing by the engine

Reimplemented in DefaultLogic.

virtual bool handleUiAction | ( | Message & | msg,
|  | bool & | stopLogic
| ) |  |
| inlinevirtual

Process ui.action message

Parameters

  msg | Received message
  stopLogic | Set to true on exit to tell the client to stop asking other logics

Returns
  True to stop further processing by the engine

Reimplemented in DefaultLogic.

virtual bool handleUserLogin | ( | Message & | msg,
|  | bool & | stopLogic
| ) |  |
| inlinevirtual

Process user.login message

Parameters

  msg | Received message
  stopLogic | Set to true on exit to tell the client to stop asking other logics

Returns
  True to stop further processing by the engine

Reimplemented in DefaultLogic.

virtual bool handleUserNotify | ( | Message & | msg,
|  | bool & | stopLogic
| ) |  |
| inlinevirtual

Process user.notify message

Parameters

  msg | Received message
  stopLogic | Set to true on exit to tell the client to stop asking other logics

Returns
  True to stop further processing by the engine

Reimplemented in DefaultLogic.

virtual bool handleUserRoster | ( | Message & | msg,
|  | bool & | stopLogic
| ) |  |
| inlinevirtual

Process user.roster message

Parameters

  msg | Received message
  stopLogic | Set to true on exit to tell the client to stop asking other logics

Returns
  True to stop further processing by the engine

Reimplemented in DefaultLogic.

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

Process help related actions

Parameters

  action | The action's name
  wnd | The window owning the control

Returns
  True on success

Reimplemented in DefaultLogic.

virtual void idleTimerTick | ( | Time & | time | ) |
| inlineprotectedvirtual

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

Parameters

  time | The current time

Reimplemented in DefaultLogic.

virtual bool imIncoming | ( | Message & | msg | ) |
| inlinevirtual

Process an IM message

Parameters

  msg | The im.execute or chan.text message

Reimplemented in DefaultLogic.

virtual bool initializedClient | ( |  | ) |
| inlinevirtual

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 in DefaultLogic.

virtual void initializedWindows | ( |  | ) |
| inlinevirtual

Called by the client after loaded and intialized the windows

Reimplemented in DefaultLogic.

static void initStaticData | ( |  | ) |
| static

Init static logic lists. Called by the client when start running

virtual bool line | ( | const String & | name,
|  | Window * | wnd = `0`
| ) |  |
| virtual

Called when the user selected a line

Parameters

  name | The line name
  wnd | Optional window containing the widget that triggered the action

Returns
  True on success

virtual void loadedWindows | ( |  | ) |
| inlinevirtual

Called by the client after loaded the windows

Reimplemented in DefaultLogic.

virtual bool loginAccount | ( | const NamedList & | account,
|  | bool | login
| ) |  |
| inlinevirtual

Login/logout an account

Parameters

  account | The account's parameters. The name of the list must be the account's name
  login | True to login the account, false to logout

Returns
  True on success

Reimplemented in DefaultLogic.

const String& name | ( |  | ) | const
| inline

Get the name of this logic

Returns
  This logic's name

int priority | ( |  | ) | const
| inline

Get the priority of this logic

Returns
  This logic's priority

virtual bool removeDurationUpdate | ( | const String & | name,
|  | bool | delObj = `false`
| ) |  |
| virtual

Remove a duration object from list

Parameters

  name | The name of the object to remove
  delObj | True to destroy the object, false to remove it

Returns
  True on success

virtual bool removeDurationUpdate | ( | DurationUpdate * | duration,
|  | bool | delObj = `false`
| ) |  |
| virtual

Remove a duration object from list

Parameters

  duration | The object to remove
  delObj | True to destroy the object, false to remove it

Returns
  True on success

static bool saveContact | ( | Configuration & | cfg,
|  | ClientContact * | c,
|  | bool | save = `true`
| ) |  |
| static

Save a contact into a configuration file

Parameters

  cfg | The configuration file
  c | The contact to save
  save | True to save the file

Returns
  True on success

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

Handle 'select' actions from user interface

Parameters

  wnd | The window in which the user did something
  name | The object's name
  item | Item identifying the selection
  text | Selection's text

Returns
  True if the action was handled

Reimplemented in DefaultLogic.

virtual bool select | ( | Window * | wnd,
|  | const String & | name,
|  | const NamedList & | items
| ) |  |
| inlinevirtual

Handle 'select' with multiple items actions from user interface

Parameters

  wnd | The window in which the user did something
  name | The object's name
  items | List of selected items

Returns
  True if the action was handled

Reimplemented in DefaultLogic.

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

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

Parameters

  param | Parameter's name
  value | The value of the parameter
  save | True to save the configuration file
  update | True to update the interface

Returns
  True on success

Reimplemented in DefaultLogic.

bool setParams | ( | const NamedList & | params | ) |

Process a request to set client parameters

Parameters

  params | The parameter list

Returns
  True on success

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

Handle actions from checkable widgets

Parameters

  wnd | The window in which the user did something
  name | The object's name
  active | Object's state

Returns
  True if the action was handled by a client logic

Reimplemented in DefaultLogic.

virtual const String& toString | ( |  | ) | const
| virtual

Function that returns the name of the logic

Returns
  The name of this client logic

Reimplemented from GenObject.

virtual bool updateAccount | ( | const NamedList & | account,
|  | bool | login,
|  | bool | save
| ) |  |
| inlinevirtual

Add/set an account. Login if required

Parameters

  account | The account's parameters. The name of the list must be the account's name
  login | True to login the account
  save | True to save the accounts file. If true and file save fails the method will fail

Returns
  True on success

Reimplemented in DefaultLogic.

virtual bool updateContact | ( | const NamedList & | contact,
|  | bool | save,
|  | bool | update
| ) |  |
| inlinevirtual

Add/set a contact

Parameters

  contact | The 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
  save | True to save data to contacts file
  update | True to update the interface

Returns
  True on success

Reimplemented in DefaultLogic.

virtual bool updateProviders | ( | const NamedList & | provider,
|  | bool | save,
|  | bool | update
| ) |  |
| inlinevirtual

Add/set account providers data

Parameters

  provider | The provider's parameters. The name of the list must be the provider's id (name)
  save | True to save data to providers file
  update | True to update the interface

Returns
  True on success

Reimplemented in DefaultLogic.

virtual bool validateCall | ( | NamedList & | params,
|  | Window * | wnd = `0`
| ) |  |
| inlinevirtual

Check presence of all necessary data to make a call

Parameters

  params | List of call parameters
  wnd | Optional window containing the widget that triggered the action

Returns
  True on success

Reimplemented in DefaultLogic.

The documentation for this class was generated from the following file:

- yatecbase.h