DefaultLogic Class Reference

The client's default logic. More...

#include <yatecbase.h>

Inheritance diagram for DefaultLogic:

ClientLogic GenObject

List of all members.

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 &param, const String &value, bool save, bool update)
virtual bool imIncoming (Message &msg)
virtual bool callIncoming (Message &msg, const String &dest)
virtual bool callStart (NamedList &params, Window *wnd=0, const String &cmd=String::empty())
virtual bool digitPressed (NamedList &params, 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 updateSelectedChannel (const String *item=0)
virtual void engineStart (Message &msg)

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)
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 deleteSelectedItem (const String &action, Window *wnd)
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


Detailed Description

The client's default logic.

This class implements the default client behaviour.


Constructor & Destructor Documentation

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

Constructor

Parameters:
name The name of this logic
prio The priority of this logic

~DefaultLogic (  ) 

Destructor


Member Function Documentation

virtual bool action ( Window wnd,
const String name,
NamedList params = 0 
) [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 from ClientLogic.

virtual bool toggle ( Window wnd,
const String name,
bool  active 
) [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 from ClientLogic.

virtual bool select ( Window wnd,
const String name,
const String item,
const String text = String::empty() 
) [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 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

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 from ClientLogic.

virtual bool imIncoming ( Message msg  )  [virtual]

Process an IM message

Parameters:
msg The im.execute of chan.text message

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

Parameters:
msg The call.execute message
dest The destination (target)
Returns:
True if a channel was created and connected

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

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 from ClientLogic.

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

Parameters:
params List of parameters. It should contain a 'digits' parameter
wnd Optional window containing the widget that triggered the action
Returns:
True on success

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

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 from ClientLogic.

virtual bool acceptAccount ( NamedList params,
Window wnd = 0 
) [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 from ClientLogic.

virtual bool delAccount ( const String account,
Window wnd = 0 
) [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 from ClientLogic.

virtual bool updateAccount ( const NamedList account,
bool  login,
bool  save 
) [virtual]

Add/set 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
save True to save the accounts file. If true and file save fails the method will fail
Returns:
True on success

Reimplemented from ClientLogic.

virtual bool loginAccount ( const NamedList account,
bool  login 
) [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 from ClientLogic.

virtual bool updateContact ( const NamedList contact,
bool  save,
bool  update 
) [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 from ClientLogic.

virtual bool acceptContact ( NamedList params,
Window wnd = 0 
) [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 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

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 from ClientLogic.

virtual bool delContact ( const String contact,
Window wnd = 0 
) [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 from ClientLogic.

virtual bool callContact ( NamedList params = 0,
Window wnd = 0 
) [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 from ClientLogic.

virtual bool updateProviders ( const NamedList provider,
bool  save,
bool  update 
) [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 from ClientLogic.

virtual bool callLogUpdate ( const NamedList params,
bool  save,
bool  update 
) [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 from ClientLogic.

virtual bool callLogDelete ( const String billid  )  [virtual]

Remove a call log item

Parameters:
billid The bill id of the call
Returns:
True on success

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

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 from ClientLogic.

virtual bool callLogCall ( const String billid,
Window wnd = 0 
) [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 from ClientLogic.

virtual bool callLogCreateContact ( const String billid  )  [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 from ClientLogic.

virtual bool help ( const String action,
Window wnd 
) [virtual]

Process help related actions

Parameters:
action The action's name
wnd The window owning the control
Returns:
True on success

Reimplemented from ClientLogic.

virtual bool calltoLoaded (  )  [virtual]

Called by the client after loaded the callto history file

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

Reimplemented from ClientLogic.

virtual void loadedWindows (  )  [inline, virtual]

Called by the client after loaded the windows

Reimplemented from ClientLogic.

virtual void initializedWindows (  )  [virtual]

Called by the client after loaded and intialized the windows

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

Returns:
True to stop processing this notification

Reimplemented from ClientLogic.

virtual void exitingClient (  )  [virtual]

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

Reimplemented from ClientLogic.

virtual bool handleUiAction ( Message msg,
bool &  stopLogic 
) [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 from ClientLogic.

virtual bool handleCallCdr ( Message msg,
bool &  stopLogic 
) [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 from ClientLogic.

virtual bool handleUserLogin ( Message msg,
bool &  stopLogic 
) [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 from ClientLogic.

virtual bool handleUserNotify ( Message msg,
bool &  stopLogic 
) [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 from ClientLogic.

virtual bool handleUserRoster ( Message msg,
bool &  stopLogic 
) [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 from ClientLogic.

virtual bool handleResourceNotify ( Message msg,
bool &  stopLogic 
) [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 from ClientLogic.

virtual bool handleResourceSubscribe ( Message msg,
bool &  stopLogic 
) [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 from ClientLogic.

virtual bool handleClientChanUpdate ( Message msg,
bool &  stopLogic 
) [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 from ClientLogic.

virtual bool handleContactInfo ( Message msg,
bool &  stopLogic 
) [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 from ClientLogic.

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

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

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

virtual void engineStart ( Message msg  )  [virtual]

Engine start notification. Connect startup accounts

Parameters:
msg The engine.start message

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

Parameters:
time The current time

Reimplemented from ClientLogic.

virtual bool enableCallActions ( const String id  )  [protected, virtual]

Enable call actions for a selected channel

Parameters:
id Channel id
Returns:
True on success

virtual bool fillCallStart ( NamedList p,
Window wnd = 0 
) [protected, virtual]

Fill call start parameter list from UI

Parameters:
p The list of parameters to fill
wnd Optional window owning the widget triggering the action
Returns:
True on success

virtual void channelSelectionChanged ( const String old  )  [protected, virtual]

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

Parameters:
old The old selection

virtual void fillContactEditActive ( NamedList list,
bool  active,
const String item = 0 
) [protected, virtual]

Fill contact edit/delete active parameters

Parameters:
list Destination list
active True to activate, false to deactivate
item Optional selected item to check in contacts list if active

virtual void fillLogContactActive ( NamedList list,
bool  active,
const String item = 0 
) [protected, virtual]

Fill log contact active parameter

Parameters:
list Destination list
active True to activate, false to deactivate
item Optional selected item to check in calls log list if active

virtual bool clearList ( const String action,
Window wnd 
) [protected, virtual]

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

Parameters:
action The list. May contain an optional confirmation text to display. Format: 'list_name[:confirmation_text]'
wnd Window owning the list/table
Returns:
True on success

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

Parameters:
list The list
item Item to delete
wnd Window owning the list/table
confirm Request confirmation for known list
Returns:
True on success

virtual bool deleteSelectedItem ( const String action,
Window wnd 
) [protected, virtual]

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

Parameters:
action Action to handle. May contain an optional confirmation text to display. Format: 'list_name[:confirmation_text]'
wnd Window owning the list/table
Returns:
True on success

virtual bool handleTextChanged ( NamedList params,
Window wnd 
) [protected, virtual]

Handle text changed notification

Parameters:
params Notification parameters
wnd Window notifying the event
Returns:
True if handled

virtual bool handleFileTransferAction ( const String name,
Window wnd,
NamedList params = 0 
) [protected, virtual]

Handle file transfer actions

Parameters:
name Action name
wnd Window notifying the event
params Optional action parameters
Returns:
True if handled

virtual bool handleFileTransferNotify ( Message msg,
bool &  stopLogic 
) [protected, virtual]

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

Parameters:
msg Notification message
stopLogic Stop notifying other logics if set to true on return
Returns:
True if handled

virtual bool handleUserData ( Message msg,
bool &  stopLogic 
) [protected, virtual]

Handle user.data messages.

Parameters:
msg The message
stopLogic Stop notifying other logics if set to true on return
Returns:
True if handled

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

Parameters:
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

Parameters:
show Show or hide notification
micOk False if microphone open failed
speakerOk False if speaker open failed
chan Optional failed channel

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

Parameters:
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 void joinRoom ( MucRoom room,
bool  force = false 
) [protected, virtual]

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

Parameters:
room The room
force True to disconnect if connecting or online and re-connect


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

Generated on Sat May 28 18:28:24 2011 for Yate by  doxygen 1.5.6