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`
| ) |  |
| inline virtual

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`
| ) |  |
| inline virtual

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`
| ) |  |
| inline virtual

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`
| ) |  |
| inline virtual

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
| ) |  |
| inline virtual

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`
| ) |  |
| inline virtual

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
| ) |  |
| inline virtual

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 | ) |
| inline virtual

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 | ) |
| inline virtual

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
| ) |  |
| inline virtual

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()`
| ) |  |
| inline 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

  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 | ( |  | ) |
| inline virtual

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
| ) |  |
| inline static

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 | ) |
| inline static

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
| ) |  |
| inline 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

  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`
| ) |  |
| inline virtual

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`
| ) |  |
| inline virtual

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`
| ) |  |
| inline virtual

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`
| ) |  |
| inline virtual

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 | ) |
| inline virtual

Engine start notification

Parameters

  msg | The engine.start message

Reimplemented in DefaultLogic.

virtual void exitingClient | ( |  | ) |
| inline virtual

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
| ) |  |
| inline virtual

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
| ) |  |
| inline virtual

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
| ) |  |
| inline virtual

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
| ) |  |
| inline virtual

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
| ) |  |
| inline virtual

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
| ) |  |
| inline virtual

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
| ) |  |
| inline virtual

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
| ) |  |
| inline virtual

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
| ) |  |
| inline virtual

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
| ) |  |
| inline virtual

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 | ) |
| inline protected virtual

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 | ) |
| inline virtual

Process an IM message

Parameters

  msg | The im.execute or chan.text message

Reimplemented in DefaultLogic.

virtual bool initializedClient | ( |  | ) |
| inline 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 in DefaultLogic.

virtual void initializedWindows | ( |  | ) |
| inline virtual

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 | ( |  | ) |
| inline virtual

Called by the client after loaded the windows

Reimplemented in DefaultLogic.

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

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()`
| ) |  |
| inline virtual

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
| ) |  |
| inline virtual

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
| ) |  |
| inline virtual

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
| ) |  |
| inline virtual

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
| ) |  |
| inline virtual

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
| ) |  |
| inline virtual

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
| ) |  |
| inline virtual

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`
| ) |  |
| inline virtual

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