|
Yate
|
The client's default logic. More...
#include <yatecbase.h>
Public Member Functions | |
| DefaultLogic (const char *name="default", int prio=-100) | |
| ~DefaultLogic () | |
| 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 | setClientParam (const String ¶m, const String &value, bool save, bool update) |
| virtual bool | imIncoming (Message &msg) |
| virtual bool | callIncoming (Message &msg, const String &dest) |
| virtual bool | validateCall (NamedList ¶ms, Window *wnd=0) |
| virtual bool | callStart (NamedList ¶ms, Window *wnd=0, const String &cmd=String::empty()) |
| virtual bool | digitPressed (NamedList ¶ms, 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 ¶ms, 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 | updateSelectedChannel (const String *item=0) |
| virtual void | engineStart (Message &msg) |
Static Public Member Functions | |
| static String & | buildAccountId (String &accId, const String &proto, const String &user, const String &host) |
Protected Member Functions | |
| virtual void | idleTimerTick (Time &time) |
| virtual bool | enableCallActions (const String &id) |
| virtual bool | fillCallStart (NamedList &p, Window *wnd=0) |
| virtual void | channelSelectionChanged (const String &old) |
| virtual void | fillContactEditActive (NamedList &list, bool active, const String *item=0, bool del=true) |
| virtual void | fillLogContactActive (NamedList &list, bool active, const String *item=0) |
| virtual bool | clearList (const String &action, Window *wnd) |
| virtual bool | deleteItem (const String &list, const String &item, Window *wnd, bool confirm) |
| virtual bool | deleteCheckedItems (const String &list, Window *wnd, bool confirm) |
| virtual bool | deleteSelectedItem (const String &action, Window *wnd, bool checked=false) |
| virtual bool | handleTextChanged (NamedList *params, Window *wnd) |
| virtual bool | handleFileTransferAction (const String &name, Window *wnd, NamedList *params=0) |
| virtual bool | handleFileTransferNotify (Message &msg, bool &stopLogic) |
| virtual bool | handleUserData (Message &msg, bool &stopLogic) |
| virtual void | notifyGenericError (const String &text, const String &account=String::empty(), const String &contact=String::empty(), const char *title="Error") |
| virtual void | notifyNoAudio (bool show, bool micOk=false, bool speakerOk=false, ClientChannel *chan=0) |
| virtual void | updateChatRoomsContactList (bool load, ClientAccount *acc, MucRoom *room=0) |
| virtual void | joinRoom (MucRoom *room, bool force=false) |
Protected Attributes | |
| String | m_selectedChannel |
| String | m_transferInitiated |
The client's default logic.
This class implements the default client behaviour.
| DefaultLogic | ( | const char * | name = "default", |
| int | prio = -100 |
||
| ) | [explicit] |
Constructor
| name | The name of this logic |
| prio | The priority of this logic |
| ~DefaultLogic | ( | ) |
Destructor
| virtual bool acceptAccount | ( | NamedList * | params, |
| Window * | wnd = 0 |
||
| ) | [virtual] |
Called when the user wants to save account data
| params | Initial parameters |
| wnd | Optional window containing the widget that triggered the action |
Reimplemented from ClientLogic.
| virtual bool acceptContact | ( | NamedList * | params, |
| Window * | wnd = 0 |
||
| ) | [virtual] |
Called when the user wants to save account data
| params | Initial parameters |
| wnd | Optional window containing the widget that triggered the action |
Reimplemented from ClientLogic.
Handle actions from user interface
| wnd | The window in which the user did something |
| name | The action's name |
| params | Optional action parameters |
Reimplemented from ClientLogic.
| static String& buildAccountId | ( | String & | accId, |
| const String & | proto, | ||
| const String & | user, | ||
| const String & | host | ||
| ) | [inline, static] |
Build an account id from protocol, username, host
| accId | Destination string |
| proto | Account protocol |
| user | Account username |
| host | Account host |
| virtual bool callContact | ( | NamedList * | params = 0, |
| Window * | wnd = 0 |
||
| ) | [virtual] |
Called when the user wants to call an existing contact
| params | Optional parameters |
| wnd | Optional window containing the widget that triggered the action |
Reimplemented from ClientLogic.
| virtual bool callIncoming | ( | Message & | msg, |
| const String & | dest | ||
| ) | [virtual] |
Call execute handler called by the client. The default logic ask the client to build an incoming channel
| msg | The call.execute message |
| dest | The destination (target) |
Reimplemented from ClientLogic.
| virtual bool callLogCall | ( | const String & | billid, |
| Window * | wnd = 0 |
||
| ) | [virtual] |
Make an outgoing call to a target picked from the call log
| billid | The bill id of the call |
| wnd | Optional window starting the action |
Reimplemented from ClientLogic.
| virtual bool callLogClear | ( | const String & | table, |
| const String & | direction | ||
| ) | [virtual] |
Clear the specified log and the entries from the history file and save the history file
| 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 |
Reimplemented from ClientLogic.
| virtual bool callLogCreateContact | ( | const String & | billid | ) | [virtual] |
Create a contact from a call log entry
| billid | The bill id of the call |
Reimplemented from ClientLogic.
| virtual bool callLogDelete | ( | const String & | billid | ) | [virtual] |
Remove a call log item
| billid | The bill id of the call |
Reimplemented from ClientLogic.
| virtual bool callLogUpdate | ( | const NamedList & | params, |
| bool | save, | ||
| bool | update | ||
| ) | [virtual] |
Update the call log history
| params | Call log data |
| save | True to save data to history file |
| update | True to update the interface |
Reimplemented from ClientLogic.
| virtual bool callStart | ( | NamedList & | params, |
| Window * | wnd = 0, |
||
| const String & | cmd = String::empty() |
||
| ) | [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
| params | List of call parameters |
| wnd | Optional window containing the widget that triggered the action |
| cmd | Optional command (widget name) |
Reimplemented from ClientLogic.
| virtual bool calltoLoaded | ( | ) | [virtual] |
Called by the client after loaded the callto history file
Reimplemented from ClientLogic.
| virtual void channelSelectionChanged | ( | const String & | old | ) | [protected, virtual] |
Notification on selection changes in channels list. Enable call actions for currently selected channel
| old | The old selection |
Clear a list/table. Handle specific lists like CDR, accounts, contacts
| action | The list. May contain an optional confirmation text to display. Format: 'list_name[:confirmation_text]' |
| wnd | Window owning the list/table |
| virtual bool defaultMsgHandler | ( | Message & | msg, |
| int | id, | ||
| bool & | stopLogic | ||
| ) | [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
| msg | Received message |
| id | Message id |
| stopLogic | Set to true on exit to tell the client to stop asking other logics |
Reimplemented from ClientLogic.
| virtual bool delAccount | ( | const String & | account, |
| Window * | wnd = 0 |
||
| ) | [virtual] |
Called when the user wants to delete an existing account
| account | The account's name. Set to empty to delete the current selection |
| wnd | Optional window containing the widget that triggered the action |
Reimplemented from ClientLogic.
| virtual bool delContact | ( | const String & | contact, |
| Window * | wnd = 0 |
||
| ) | [virtual] |
Called when the user wants to delete an existing contact
| contact | The contact's id. Set to empty to delete the current selection |
| wnd | Optional window containing the widget that triggered the action |
Reimplemented from ClientLogic.
| virtual bool deleteCheckedItems | ( | const String & | list, |
| Window * | wnd, | ||
| bool | confirm | ||
| ) | [protected, virtual] |
Handle list/table checked items deletion. Handle specific lists like CDR, accounts, contacts
| list | The list |
| wnd | Window owning the list/table |
| confirm | Request confirmation for known list |
| virtual bool deleteItem | ( | const String & | list, |
| const String & | item, | ||
| Window * | wnd, | ||
| bool | confirm | ||
| ) | [protected, virtual] |
Delete a list/table item. Handle specific lists like CDR, accounts, contacts, mucs
| list | The list |
| item | Item to delete |
| wnd | Window owning the list/table |
| confirm | Request confirmation for known list |
| virtual bool deleteSelectedItem | ( | const String & | action, |
| Window * | wnd, | ||
| bool | checked = false |
||
| ) | [protected, virtual] |
Handle list/table selection or checked items deletion. Handle specific lists like CDR, accounts, contacts
| action | Action to handle. May contain an optional confirmation text to display. Format: 'list_name[:confirmation_text]' |
| wnd | Window owning the list/table |
| checked | Set it to true to handle checked items deletion |
| virtual bool digitPressed | ( | NamedList & | params, |
| Window * | wnd = 0 |
||
| ) | [virtual] |
Called when a digit is pressed. The default logic will send the digit(s) as DTMFs on the active channel
| params | List of parameters. It should contain a 'digits' parameter |
| wnd | Optional window containing the widget that triggered the action |
| virtual bool editAccount | ( | bool | newAcc, |
| NamedList * | params, | ||
| Window * | wnd = 0 |
||
| ) | [virtual] |
Called when the user wants to add a new account or edit an existing one
| 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 |
Reimplemented from ClientLogic.
| virtual bool editContact | ( | bool | newCont, |
| NamedList * | params = 0, |
||
| Window * | wnd = 0 |
||
| ) | [virtual] |
Called when the user wants to add a new contact or edit an existing one
| 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 |
Reimplemented from ClientLogic.
| virtual bool enableCallActions | ( | const String & | id | ) | [protected, virtual] |
| virtual void engineStart | ( | Message & | msg | ) | [virtual] |
Engine start notification. Connect startup accounts
| msg | The engine.start message |
Reimplemented from ClientLogic.
| virtual void exitingClient | ( | ) | [virtual] |
Called by the client before exiting. The default logic save client settings
Reimplemented from ClientLogic.
| virtual bool fillCallStart | ( | NamedList & | p, |
| Window * | wnd = 0 |
||
| ) | [protected, virtual] |
Fill call start parameter list from UI
| p | The list of parameters to fill |
| wnd | Optional window owning the widget triggering the action |
| virtual void fillContactEditActive | ( | NamedList & | list, |
| bool | active, | ||
| const String * | item = 0, |
||
| bool | del = true |
||
| ) | [protected, virtual] |
Fill contact edit/delete active parameters
| list | Destination list |
| active | True to activate, false to deactivate |
| item | Optional selected item to check in contacts list if active |
| del | True to fill delete active parameter |
| virtual void fillLogContactActive | ( | NamedList & | list, |
| bool | active, | ||
| const String * | item = 0 |
||
| ) | [protected, virtual] |
Fill log contact active parameter
| list | Destination list |
| active | True to activate, false to deactivate |
| item | Optional selected item to check in calls log list if active |
| virtual bool handleCallCdr | ( | Message & | msg, |
| bool & | stopLogic | ||
| ) | [virtual] |
Process call.cdr message
| msg | Received message |
| stopLogic | Set to true on exit to tell the client to stop asking other logics |
Reimplemented from ClientLogic.
| virtual bool handleClientChanUpdate | ( | Message & | msg, |
| bool & | stopLogic | ||
| ) | [virtual] |
Process clientchan.update message
| msg | Received message |
| stopLogic | Set to true on exit to tell the client to stop asking other logics |
Reimplemented from ClientLogic.
| virtual bool handleContactInfo | ( | Message & | msg, |
| bool & | stopLogic | ||
| ) | [virtual] |
Process contact.info message
| msg | Received message |
| stopLogic | Set to true on exit to tell the client to stop asking other logics |
Reimplemented from ClientLogic.
| virtual bool handleFileTransferAction | ( | const String & | name, |
| Window * | wnd, | ||
| NamedList * | params = 0 |
||
| ) | [protected, virtual] |
Handle file transfer actions
| name | Action name |
| wnd | Window notifying the event |
| params | Optional action parameters |
| virtual bool handleFileTransferNotify | ( | Message & | msg, |
| bool & | stopLogic | ||
| ) | [protected, virtual] |
Handle file transfer notifications. This method is called from logic message handler
| msg | Notification message |
| stopLogic | Stop notifying other logics if set to true on return |
| virtual bool handleResourceNotify | ( | Message & | msg, |
| bool & | stopLogic | ||
| ) | [virtual] |
Process resource.notify message
| msg | Received message |
| stopLogic | Set to true on exit to tell the client to stop asking other logics |
Reimplemented from ClientLogic.
| virtual bool handleResourceSubscribe | ( | Message & | msg, |
| bool & | stopLogic | ||
| ) | [virtual] |
Process resource.subscribe message
| msg | Received message |
| stopLogic | Set to true on exit to tell the client to stop asking other logics |
Reimplemented from ClientLogic.
| virtual bool handleTextChanged | ( | NamedList * | params, |
| Window * | wnd | ||
| ) | [protected, virtual] |
Handle text changed notification
| params | Notification parameters |
| wnd | Window notifying the event |
| virtual bool handleUiAction | ( | Message & | msg, |
| bool & | stopLogic | ||
| ) | [virtual] |
Process ui.action message
| msg | Received message |
| stopLogic | Set to true on exit to tell the client to stop asking other logics |
Reimplemented from ClientLogic.
| virtual bool handleUserData | ( | Message & | msg, |
| bool & | stopLogic | ||
| ) | [protected, virtual] |
Handle user.data messages.
| msg | The message |
| stopLogic | Stop notifying other logics if set to true on return |
| virtual bool handleUserLogin | ( | Message & | msg, |
| bool & | stopLogic | ||
| ) | [virtual] |
Process user.login message
| msg | Received message |
| stopLogic | Set to true on exit to tell the client to stop asking other logics |
Reimplemented from ClientLogic.
| virtual bool handleUserNotify | ( | Message & | msg, |
| bool & | stopLogic | ||
| ) | [virtual] |
Process user.notify message
| msg | Received message |
| stopLogic | Set to true on exit to tell the client to stop asking other logics |
Reimplemented from ClientLogic.
| virtual bool handleUserRoster | ( | Message & | msg, |
| bool & | stopLogic | ||
| ) | [virtual] |
Process user.roster message
| msg | Received message |
| stopLogic | Set to true on exit to tell the client to stop asking other logics |
Reimplemented from ClientLogic.
Process help related actions
| action | The action's name |
| wnd | The window owning the control |
Reimplemented from ClientLogic.
| virtual void idleTimerTick | ( | Time & | time | ) | [protected, virtual] |
Method called by the client when idle. This method is called in the UI's thread
| time | The current time |
Reimplemented from ClientLogic.
| virtual bool imIncoming | ( | Message & | msg | ) | [virtual] |
Process an IM message
| msg | The im.execute of chan.text message |
Reimplemented from ClientLogic.
| virtual bool initializedClient | ( | ) | [virtual] |
Called by the client after loaded and intialized the windows and loaded configuration files. The default logic update client settings
Reimplemented from ClientLogic.
| virtual void initializedWindows | ( | ) | [virtual] |
Called by the client after loaded and intialized the windows
Reimplemented from ClientLogic.
Join a MUC room. Create/show chat. Update its status
| room | The room |
| force | True to disconnect if connecting or online and re-connect |
| virtual void loadedWindows | ( | ) | [inline, virtual] |
Called by the client after loaded the windows
Reimplemented from ClientLogic.
| virtual bool loginAccount | ( | const NamedList & | account, |
| bool | login | ||
| ) | [virtual] |
Login/logout an account
| 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 |
Reimplemented from ClientLogic.
| virtual void notifyGenericError | ( | const String & | text, |
| const String & | account = String::empty(), |
||
| const String & | contact = String::empty(), |
||
| const char * | title = "Error" |
||
| ) | [protected, virtual] |
Show a generic notification
| text | Notification text |
| account | Optional concerned account |
| contact | Optional concerned contact |
| title | Notification title |
| virtual void notifyNoAudio | ( | bool | show, |
| bool | micOk = false, |
||
| bool | speakerOk = false, |
||
| ClientChannel * | chan = 0 |
||
| ) | [protected, virtual] |
Show/hide no audio notification
| show | Show or hide notification |
| micOk | False if microphone open failed |
| speakerOk | False if speaker open failed |
| chan | Optional failed channel |
| virtual bool select | ( | Window * | wnd, |
| const String & | name, | ||
| const String & | item, | ||
| const String & | text = String::empty() |
||
| ) | [virtual] |
Handle 'select' actions from user interface
| wnd | The window in which the user did something |
| name | The object's name |
| item | Item identifying the selection |
| text | Selection's text |
Reimplemented from ClientLogic.
| virtual bool setClientParam | ( | const String & | param, |
| const String & | value, | ||
| bool | save, | ||
| bool | update | ||
| ) | [virtual] |
Set a client's parameter. Save the settings file and/or update interface
| param | Parameter's name |
| value | The value of the parameter |
| save | True to save the configuration file |
| update | True to update the interface |
Reimplemented from ClientLogic.
Handle actions from checkable widgets
| wnd | The window in which the user did something |
| name | The object's name |
| active | Object's state |
Reimplemented from ClientLogic.
| virtual bool updateAccount | ( | const NamedList & | account, |
| bool | login, | ||
| bool | save | ||
| ) | [virtual] |
Add/set an account
| 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 |
Reimplemented from ClientLogic.
| virtual void updateChatRoomsContactList | ( | bool | load, |
| ClientAccount * | acc, | ||
| MucRoom * | room = 0 |
||
| ) | [protected, virtual] |
(Un)Load account's saved chat rooms or a specific room in contact list
| load | True to load, false to unload |
| acc | The account owning the chat rooms |
| room | The room to update, ignored if acc is not 0 |
| virtual bool updateContact | ( | const NamedList & | contact, |
| bool | save, | ||
| bool | update | ||
| ) | [virtual] |
Add/set a contact
| 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 |
Reimplemented from ClientLogic.
| virtual bool updateProviders | ( | const NamedList & | provider, |
| bool | save, | ||
| bool | update | ||
| ) | [virtual] |
Add/set account providers data
| 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 |
Reimplemented from ClientLogic.
| virtual void updateSelectedChannel | ( | const String * | item = 0 | ) | [virtual] |
Update from UI or from a given value the selected item in channels list. The selected channel may not be the active one
| item | Optional new value for current selection. Set to 0 to upadte from UI |
| virtual bool validateCall | ( | NamedList & | params, |
| Window * | wnd = 0 |
||
| ) | [virtual] |
Check presence of all necessary data to make a call
| params | List of call parameters |
| wnd | Optional window containing the widget that triggered the action |
Reimplemented from ClientLogic.
1.7.6.1