|
|
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.
| ~ClientLogic ()
| ~ClientLogic |
[virtual]
Destructor. Remove itself from the client's list
| inline const String& name ()
| name |
[const]
Get the name of this logic
Returns: This logic's name
| inline int priority ()
| priority |
[const]
Get the priority of this logic
Returns: This logic's priority
| const String& toString ()
| toString |
[const virtual]
Function that returns the name of the logic
Returns: The name of this client logic
Reimplemented from GenObject.
| bool setParams (const NamedList& params)
| setParams |
Process a request to set client parameters
Parameters:
| params | The parameter list |
Returns: True on success
| bool action (Window* wnd, const String& name, NamedList* params = 0)
| action |
[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
| bool toggle (Window* wnd, const String& name, bool active)
| toggle |
[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
| bool select (Window* wnd, const String& name, const String& item,
const String& text = String::empty())
| select |
[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
| bool select (Window* wnd, const String& name, const NamedList& items)
| select |
[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
| 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:
| 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
| bool imIncoming (Message& msg)
| imIncoming |
[virtual]
Process an IM message
Parameters:
| msg | The im.execute or chan.text message |
| 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:
| msg | The call.execute message |
| dest | The destination (target) |
Returns: True if a channel was created and connected
| bool validateCall (NamedList& params, Window* wnd = 0)
| validateCall |
[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
| 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:
| params | List of call parameters |
| wnd | Optional window containing the widget that triggered the action |
| cmd | Optional command (widget name) |
Returns: True on success
| bool line (const String& name, Window* wnd = 0)
| line |
[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
| bool display (NamedList& params, bool widget, Window* wnd = 0)
| display |
[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
| bool backspace (const String& name, Window* wnd = 0)
| backspace |
[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
| bool command (const String& name, Window* wnd = 0)
| command |
[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
| bool debug (const String& name, bool active, Window* wnd = 0)
| debug |
[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
| 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:
| 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
| bool acceptAccount (NamedList* params, Window* wnd = 0)
| acceptAccount |
[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
| bool delAccount (const String& account, Window* wnd = 0)
| delAccount |
[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
| bool updateAccount (const NamedList& account, bool login, bool save)
| updateAccount |
[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
| bool loginAccount (const NamedList& account, bool login)
| loginAccount |
[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
| bool updateContact (const NamedList& contact, bool save, bool update)
| updateContact |
[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
| bool acceptContact (NamedList* params, Window* wnd = 0)
| acceptContact |
[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
| 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:
| 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
| bool delContact (const String& contact, Window* wnd = 0)
| delContact |
[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
| bool callContact (NamedList* params = 0, Window* wnd = 0)
| callContact |
[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
| bool updateProviders (const NamedList& provider, bool save, bool update)
| updateProviders |
[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
| bool callLogUpdate (const NamedList& params, bool save, bool update)
| callLogUpdate |
[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
| bool callLogDelete (const String& billid)
| callLogDelete |
[virtual]
Remove a call log item
Parameters:
| billid | The bill id of the call |
Returns: True on success
| 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:
| 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
| bool callLogCall (const String& billid, Window* wnd = 0)
| callLogCall |
[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)
| bool callLogCreateContact (const String& billid)
| callLogCreateContact |
[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)
| bool help (const String& action, Window* wnd)
| help |
[virtual]
Process help related actions
Parameters:
| action | The action's name |
| wnd | The window owning the control |
Returns: True on success
| 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
| void loadedWindows ()
| loadedWindows |
[virtual]
Called by the client after loaded the windows
| void initializedWindows ()
| initializedWindows |
[virtual]
Called by the client after loaded and intialized the windows
| 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
| void exitingClient ()
| exitingClient |
[virtual]
Called by the client before exiting. The default logic save client settings
| bool handleUiAction (Message& msg, bool& stopLogic)
| handleUiAction |
[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
| bool handleCallCdr (Message& msg, bool& stopLogic)
| handleCallCdr |
[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
| bool handleUserLogin (Message& msg, bool& stopLogic)
| handleUserLogin |
[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
| bool handleUserNotify (Message& msg, bool& stopLogic)
| handleUserNotify |
[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
| bool handleUserRoster (Message& msg, bool& stopLogic)
| handleUserRoster |
[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
| bool handleResourceNotify (Message& msg, bool& stopLogic)
| handleResourceNotify |
[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
| bool handleResourceSubscribe (Message& msg, bool& stopLogic)
| handleResourceSubscribe |
[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
| bool handleClientChanUpdate (Message& msg, bool& stopLogic)
| handleClientChanUpdate |
[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
| bool handleContactInfo (Message& msg, bool& stopLogic)
| handleContactInfo |
[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
| 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:
| 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
| void engineStart (Message& msg)
| engineStart |
[virtual]
Engine start notification
Parameters:
| msg | The engine.start message |
| bool addDurationUpdate (DurationUpdate* duration, bool autoDelete = false)
| addDurationUpdate |
[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
| bool removeDurationUpdate (const String& name, bool delObj = false)
| removeDurationUpdate |
[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
| bool removeDurationUpdate (DurationUpdate* duration, bool delObj = false)
| removeDurationUpdate |
[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
| DurationUpdate* findDurationUpdate (const String& name, bool ref = true)
| findDurationUpdate |
[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
| void clearDurationUpdate ()
| clearDurationUpdate |
[virtual]
Remove all duration objects
| void destruct ()
| destruct |
[virtual]
Release memory. Remove from client's list
Reimplemented from GenObject.
| const String& cdrRemoteParty (const NamedList& params, bool outgoing)
| cdrRemoteParty |
[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)
| const String& cdrRemoteParty (const NamedList& params)
| cdrRemoteParty |
[static]
Retrieve the remote party from CDR parameters
Parameters:
| params | CDR parameters |
Returns: The remote party (may be empty)
| void initStaticData ()
| initStaticData |
[static]
Init static logic lists. Called by the client when start running
| bool saveContact (Configuration& cfg, ClientContact* c, bool save = true)
| saveContact |
[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
| bool clearContact (Configuration& cfg, ClientContact* c, bool save = true)
| clearContact |
[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
| static ObjList s_accOptions | s_accOptions |
| static const char* s_provParams[] | s_provParams[] |
| static ObjList s_protocols | s_protocols |
| static Mutex s_protocolsMutex | s_protocolsMutex |
| ClientLogic (const char* name, int priority)
| ClientLogic |
[protected]
Constructor. Append itself to the client's list
Parameters:
| name | The name of this logic (module) |
| priority | The priority of this logic |
| void idleTimerTick (Time& time)
| idleTimerTick |
[protected virtual]
Method called by the client when idle. This method is called in the UI's thread
Parameters:
| time | The current time |
| ObjList m_durationUpdate | m_durationUpdate |
[protected]
| Mutex m_durationMutex | m_durationMutex |
[protected]
| Generated by: paulc on bussard on Sun Oct 20 21:06:06 2013, using kdoc 2.0a54. |