| 
 
 | 
 | ||||||||||||||||
Singleton class that holds the User Interface's main methods
| enum MsgID { CallCdr = 0, UiAction, UserLogin, UserNotify, ResourceNotify, ResourceSubscribe, ClientChanUpdate, UserRoster, ContactInfo, ChanNotify, MucRoom, MsgExecute, EngineStart, TransferNotify, UserData, FileInfo, MsgIdCount } | MsgID | 
Message relays installed by this receiver.
| enum ClientToggle { OptMultiLines = 0, OptAutoAnswer, OptRingIn, OptRingOut, OptActivateLastOutCall, OptActivateLastInCall, OptActivateCallOnSelect, OptKeypadVisible, OptOpenIncomingUrl, OptAddAccountOnStartup, OptDockedChat, OptDestroyChat, OptNotifyChatState, OptShowEmptyChat, OptSendEmptyChat, OptCount } | ClientToggle | 
Client boolean options mapped to UI toggles
| enum TrayIconType { TrayIconMain = 0, TrayIconInfo = 1000, TrayIconIncomingChat = 3000, TrayIconNotification = 5000, TrayIconIncomingCall = 10000, } | TrayIconType | 
Tray icon valuers used in stack
| explicit  Client (const char *name = 0) | Client | 
Constructor
Parameters:
| name | The client's name | 
| ~Client () | ~Client | 
[virtual]
Destructor
| bool  startup () | startup | 
[virtual]
Start up the client thread
Returns: True if the client thread is started, false otherwise
| void  run () | run | 
[virtual]
Run the client's main loop
| void  cleanup () | cleanup | 
[virtual]
Cleanup when thread terminates
| void  main () | main | 
[pure virtual]
Execute the client
| void  lock () | lock | 
[pure virtual]
Lock the client
| void  unlock () | unlock | 
[pure virtual]
Unlock the client
| inline void  lockOther () | lockOther | 
Lock the client only if we are using more then 1 thread
| inline void  unlockOther () | unlockOther | 
Unlock the client only if we are using more then 1 thread
| inline void  setThread (Thread* th) | setThread | 
Set the client's thread
Parameters:
| th | The thread on which the client will run on | 
| void  allHidden () | allHidden | 
[pure virtual]
Handle all windows closed event from UI
| void  loadUI (const char* file = 0, bool init = true) | loadUI | 
Load windows and optionally (re)initialize the client's options.
Parameters:
| file | The resource file describing the windows. Set to 0 to use the default one | 
| init | True to (re)initialize the client | 
| void  quit () | quit | 
[pure virtual]
Terminate application
| bool  openUrlSafe (const String& url) | openUrlSafe | 
Open an URL (link) in the client's thread
Parameters:
| url | The URL to open | 
Returns: True on success
| bool  openUrl (const String& url) | openUrl | 
[pure virtual]
Open an URL (link)
Parameters:
| url | The URL to open | 
Returns: True on success
| bool  received (Message& msg, int id) | received | 
[virtual]
Process a received message. Check for a logic to process it
Parameters:
| msg | Received message | 
| id | Message id | 
Returns: True if a logic processed the message (stop dispatching it)
Reimplemented from MessageReceiver.
| bool  createWindowSafe (const String& name,
	const String& alias = String::empty()) | createWindowSafe | 
[virtual]
Create a window with a given name
Parameters:
| name | The window's name | 
| alias | Window name alias after succesfully loaded. Set to empty string to use the given name | 
Returns: True on success
| bool  createDialog (const String& name, Window* parent, const String& title,
	const String& alias = String::empty(), const NamedList* params = 0) | createDialog | 
[virtual]
Create a modal dialog owned by a given window
Parameters:
| name | Dialog name (resource config section) | 
| parent | Parent window | 
| title | Dialog title | 
| alias | Optional dialog alias (used as dialog object name) | 
| params | Optional dialog parameters | 
Returns: True on success
| bool  createObject (void** dest, const String& type, const char* name,
	NamedList* params = 0) | createObject | 
[virtual]
Ask to an UI factory to create an object in the UI's thread
Parameters:
| dest | Destination to be filled with the newly create object's address | 
| type | Object's type | 
| name | Object's name | 
| params | Optional object parameters | 
Returns: True on success
| bool  closeWindow (const String& name, bool hide = true) | closeWindow | 
[virtual]
Hide/destroy a window with a given name
Parameters:
| name | The window's name | 
| hide | True to hide, false to close | 
Returns: True on success
| bool  closeDialog (const String& name, Window* wnd, Window* skip = 0) | closeDialog | 
[virtual]
Destroy a modal dialog
Parameters:
| name | Dialog name | 
| wnd | Window owning the dialog | 
| skip | Optional window to skip if wnd is null | 
Returns: True on success
| bool  debugHook (bool active) | debugHook | 
[virtual]
Install/uninstall a debugger output hook
Parameters:
| active | True to install, false to uninstall the hook | 
Returns: True on success
| bool  addToLog (const String& text) | addToLog | 
[virtual]
Add a log line
Parameters:
| text | Text to add | 
Returns: True on success
| bool  setStatus (const String& text, Window* wnd = 0) | setStatus | 
[virtual]
Set the status text
Parameters:
| text | Status text | 
| wnd | Optional window owning the status control | 
Returns: True on success
| bool  setStatusLocked (const String& text, Window* wnd = 0) | setStatusLocked | 
Set the status text safely
Parameters:
| text | Status text | 
| wnd | Optional window owning the status control | 
Returns: True on success
| bool  setParams (const NamedList* params, Window* wnd = 0, Window* skip = 0) | setParams | 
Set multiple window parameters
Parameters:
| params | The parameter list | 
| wnd | Optional window whose params are to be set | 
| skip | Optional window to skip if wnd is 0 | 
Returns: True on success
| bool  action (Window* wnd, const String& name, NamedList* params = 0) | action | 
[virtual]
Handle actions from user interface. Enqueue an ui.event message if the action is not handled by a client logic
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 by a client logic
| bool  toggle (Window* wnd, const String& name, bool active) | toggle | 
[virtual]
Handle actions from checkable widgets. Enqueue an ui.event message if the action is not handled by a client logic
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. Enqueue an ui.event message if the action is not handled by a client logic
Parameters:
| wnd | The window in which the user selected the object | 
| name | The action's name | 
| item | Item identifying the selection | 
| text | Selection's text | 
Returns: True if the action was handled by a client logic
| bool  select (Window* wnd, const String& name, const NamedList& items) | select | 
[virtual]
Handle 'select' with multiple items actions from user interface. Enqueue an ui.event message if the action is not handled by a client logic
Parameters:
| wnd | The window in which the user selected the object | 
| name | The action's name | 
| items | List containing the selection | 
Returns: True if the action was handled by a client logic
| inline bool  oneThread () | oneThread | 
[const]
Check if the client is using more then 1 thread
Returns: True if the client is using more then 1 thread
| inline int  line () | line | 
[const]
Get the currently selected line
Returns: The selected line
| void  line (int newLine) | line | 
Set the selected line
Parameters:
| newLine | The selected line | 
| bool  hasElement (const String& name, Window* wnd = 0, Window* skip = 0) | hasElement | 
| bool  setActive (const String& name, bool active, Window* wnd = 0, Window* skip = 0) | setActive | 
| bool  setFocus (const String& name, bool select = false, Window* wnd = 0, Window* skip = 0) | setFocus | 
| bool  setShow (const String& name, bool visible, Window* wnd = 0, Window* skip = 0) | setShow | 
| bool  setText (const String& name, const String& text, bool richText = false,
	Window* wnd = 0, Window* skip = 0) | setText | 
| bool  setCheck (const String& name, bool checked, Window* wnd = 0, Window* skip = 0) | setCheck | 
| bool  setSelect (const String& name, const String& item, Window* wnd = 0, Window* skip = 0) | setSelect | 
| bool  setUrgent (const String& name, bool urgent, Window* wnd = 0, Window* skip = 0) | setUrgent | 
| bool  hasOption (const String& name, const String& item, Window* wnd = 0, Window* skip = 0) | hasOption | 
| bool  getOptions (const String& name, NamedList* items,
	Window* wnd = 0, Window* skip = 0) | getOptions | 
[virtual]
Get an element's items
Parameters:
| name | Name of the element to search for | 
| items | List to fill with element's items | 
| wnd | Optional window owning the element | 
| skip | Optional window to skip when searching for the element | 
Returns: True if the element exists
| bool  addOption (const String& name, const String& item, bool atStart,
	const String& text = String::empty(), Window* wnd = 0, Window* skip = 0) | addOption | 
| bool  delOption (const String& name, const String& item, Window* wnd = 0, Window* skip = 0) | delOption | 
| bool  addLines (const String& name, const NamedList* lines, unsigned int max,
	bool atStart = false, Window* wnd = 0, Window* skip = 0) | addLines | 
Append or insert text lines to a widget
Parameters:
| name | The name of the widget | 
| lines | List containing the lines | 
| max | The maximum number of lines allowed to be displayed. Set to 0 to ignore | 
| atStart | True to insert, false to append | 
| wnd | Optional window owning the widget | 
| skip | Optional window to skip if wnd is 0 | 
Returns: True on success
| bool  addTableRow (const String& name, const String& item, const NamedList* data = 0,
	bool atStart = false, Window* wnd = 0, Window* skip = 0) | addTableRow | 
| bool  setMultipleRows (const String& name, const NamedList& data, const String& prefix = String::empty(), Window* wnd = 0, Window* skip = 0) | setMultipleRows | 
Append or update several table rows at once
Parameters:
| name | Name of the element | 
| data | Parameters to initialize the rows with | 
| prefix | Prefix to match (and remove) in parameter names | 
| wnd | Optional window owning the element | 
| skip | Optional window to skip if wnd is 0 | 
Returns: True if all the operations were successfull
| bool  insertTableRow (const String& name, const String& item,
	const String& before, const NamedList* data = 0,
	Window* wnd = 0, Window* skip = 0) | insertTableRow | 
Insert a row into a table owned by this window
Parameters:
| name | Name of the element | 
| item | Name of the item to insert | 
| before | Name of the item to insert before | 
| data | Table's columns to set | 
| wnd | Optional window owning the element | 
| skip | Optional window to skip if wnd is 0 | 
Returns: True if the operation was successfull
| bool  delTableRow (const String& name, const String& item, Window* wnd = 0, Window* skip = 0) | delTableRow | 
| bool  setTableRow (const String& name, const String& item, const NamedList* data,
	Window* wnd = 0, Window* skip = 0) | setTableRow | 
| bool  getTableRow (const String& name, const String& item, NamedList* data = 0,
	Window* wnd = 0, Window* skip = 0) | getTableRow | 
| bool  clearTable (const String& name, Window* wnd = 0, Window* skip = 0) | clearTable | 
| bool  updateTableRow (const String& name, const String& item, const NamedList* data = 0,
	bool atStart = false, Window* wnd = 0, Window* skip = 0) | updateTableRow | 
Set a table row or add a new one if not found
Parameters:
| name | Name of the element | 
| item | Table item to set/add | 
| data | Optional list of parameters used to set row data | 
| atStart | True to add item at start, false to add them to the end | 
| wnd | Optional window owning the element | 
| skip | Optional window to skip if wnd is 0 | 
Returns: True if the operation was successfull
| bool  updateTableRows (const String& name, const NamedList* data, bool atStart = false,
	Window* wnd = 0, Window* skip = 0) | updateTableRows | 
Add or set one or more table row(s). Screen update is locked while changing the table. Each data list element is a NamedPointer carrying a NamedList with item parameters. The name of an element is the item to update. Set element's value to boolean value 'true' to add a new item if not found or 'false' to set an existing one. Set it to empty string to delete the item
Parameters:
| name | Name of the table | 
| data | The list of items to add/set/delete | 
| atStart | True to add new items at start, false to add them to the end | 
| wnd | Optional window owning the element | 
| skip | Optional window to skip if wnd is 0 | 
Returns: True if the operation was successfull
| bool  setBusy (const String& name, bool on, Window* wnd = 0, Window* skip = 0) | setBusy | 
Show or hide control busy state
Parameters:
| name | Name of the element | 
| on | True to show, false to hide | 
| wnd | Optional window owning the element | 
| skip | Optional window to skip if wnd is 0 | 
Returns: True if all the operations were successfull
| bool  getText (const String& name, String& text, bool richText = false, Window* wnd = 0, Window* skip = 0) | getText | 
Get an element's text
Parameters:
| name | Name of the element | 
| text | The destination string | 
| richText | True to get the element's roch text if supported. | 
| wnd | Optional window owning the element | 
| skip | Optional window to skip if wnd is 0 | 
Returns: True if the operation was successfull
| bool  getCheck (const String& name, bool& checked, Window* wnd = 0, Window* skip = 0) | getCheck | 
| bool  getSelect (const String& name, String& item, Window* wnd = 0, Window* skip = 0) | getSelect | 
| bool  getSelect (const String& name, NamedList& items, Window* wnd = 0, Window* skip = 0) | getSelect | 
Retrieve an element's multiple selection
Parameters:
| name | Name of the element | 
| items | List to be to filled with selection's contents | 
| wnd | Optional window owning the element | 
| skip | Optional window to skip if wnd is 0 | 
Returns: True if the operation was successfull
| bool  buildMenu (const NamedList& params, Window* wnd = 0, Window* skip = 0) | buildMenu | 
Build a menu from a list of parameters and add it to a target.
Parameters:
| params | Menu build parameters (list name is the menu name). Each menu item is indicated by a parameter item:[item_name]=[display_text]. A separator will be added if 'item_name' is empty. A new item will be created if 'display_text' is not empty. Set 'display_text' to empty string to use an existing item. Item image can be set by an 'image:item_name' parameter. If the item parameter is a NamedPointer carrying a NamedList a submenu will be created. Menu item properties can be set from parameters with format property:item_name:property_name=value. The following parameters can be set: - title: menu display text (defaults to menu name) - owner: optional menu owner (the window building the menu is assumed to be the owner if this parameter is empty) - target: optional menu target (defaults to owner) - before: optional item to insert before if the target is a menu container (another menu or a menu bar) - before_separator: check if a separator already exists before the item 'before' and insert the menu before the separator | 
| wnd | Optional target window | 
| skip | Optional window to skip if wnd is 0 | 
Returns: True on success
| bool  removeMenu (const NamedList& params, Window* wnd = 0, Window* skip = 0) | removeMenu | 
Remove a menu (from UI and memory)
Parameters:
| params | Menu remove parameters. The following parameters can be set: - owner: optional menu owner (the window building the menu is assumed to be the owner if this parameter is empty) | 
| wnd | Optional target window | 
| skip | Optional window to skip if wnd is 0 | 
Returns: True on success
| bool  setImage (const String& name, const String& image,
	Window* wnd = 0, Window* skip = 0) | setImage | 
[virtual]
Set an element's image
Parameters:
| name | Name of the element | 
| image | Image to set | 
| wnd | Optional target window | 
| skip | Optional window to skip if wnd is 0 | 
Returns: True on success
| bool  setImageFit (const String& name, const String& image,
	Window* wnd = 0, Window* skip = 0) | setImageFit | 
[virtual]
Set an element's image. Request to fit the image in element
Parameters:
| name | Name of the element | 
| image | Image to set | 
| wnd | Optional target window | 
| skip | Optional window to skip if wnd is 0 | 
Returns: True on success
| bool  setProperty (const String& name, const String& item, const String& value,
	Window* wnd = 0, Window* skip = 0) | setProperty | 
[virtual]
Set a property
Parameters:
| name | Name of the element | 
| item | Property's name | 
| value | Property's value | 
| wnd | Optional target window | 
| skip | Optional window to skip if wnd is 0 | 
Returns: True on success
| bool  getProperty (const String& name, const String& item, String& value,
	Window* wnd = 0, Window* skip = 0) | getProperty | 
[virtual]
Get a property
Parameters:
| name | Name of the element | 
| item | Property's name | 
| value | Property's value | 
| wnd | Optional target window | 
| skip | Optional window to skip if wnd is 0 | 
Returns: True on success
| void  moveRelated (const Window* wnd, int dx, int dy) | moveRelated | 
| inline bool  initialized () | initialized | 
[const]
| inline  Client*  self () | self | 
[static]
| inline  void  setSelf (Client* client) | setSelf | 
[static]
| inline bool  valid () | valid | 
[static]
Check if the client object still exists and the client or engine is not exiting
Returns: True if the client is valid (running) or the method is called from client's thread
| bool  isClientMsg (Message& msg) | isClientMsg | 
[static]
Check if a message is sent by the client
Parameters:
| msg | The message to check | 
Returns: True if the message has a 'module' parameter with the client driver's name
| inline  bool  changing () | changing | 
[static]
| Window*  getWindow (const String& name) | getWindow | 
[static]
| bool  setVisible (const String& name, bool show = true, bool activate = false) | setVisible | 
[static]
| bool  getVisible (const String& name) | getVisible | 
[static]
| bool  openPopup (const String& name, const NamedList* params = 0, const Window* parent = 0) | openPopup | 
[static]
| bool  openMessage (const char* text, const Window* parent = 0, const char* context = 0) | openMessage | 
[static]
| bool  openConfirm (const char* text, const Window* parent = 0, const char* context = 0) | openConfirm | 
[static]
| ObjList*  listWindows () | listWindows | 
[static]
| void  idleActions () | idleActions | 
| bool  postpone (const Message& msg, int id, bool copyUserData = false) | postpone | 
Postpone a copy of a message to be dispatched from the UI thread
Parameters:
| msg | Message to be postponed | 
| id | Identifier of the message to be used on dispatch | 
| copyUserData | Copy source user data in postponed message | 
Returns: True if the UI thread was not current so the message was postponed
| bool  chooseFile (Window* parent, NamedList& params) | chooseFile | 
[virtual]
Show a file open/save dialog window This method isn't using the proxy thread since it's usually called on UI action
Parameters:
| parent | Dialog window's parent | 
| params | Dialog window's params. Parameters that can be specified include 'caption', 'dir', 'filters', 'selectedfilter', 'confirmoverwrite', 'choosedir'. | 
Returns: True on success
| bool  setClientParam (const String& param, const String& value,
	bool save, bool update) | setClientParam | 
[virtual]
Request to a logic to 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, false if the parameter doesn't exist, the value is incorrect or failed to save the file
| bool  backspace (const String& name, Window* wnd = 0) | backspace | 
[virtual]
Remove the last character of the given widget
Parameters:
| name | The widget (it might be the window itself) | 
| wnd | Optional window containing the widget that triggered the action | 
Returns: True on success
| void  installRelay (const char* name, int id, int prio) | installRelay | 
Create and install a message relay owned by this client. The new relay will be unistalled when the client is terminated
Parameters:
| name | Message name | 
| id | Relay id | 
| prio | Message priority | 
| bool  callRouting (Message& msg) | callRouting | 
[virtual]
Call routing handler called by the driver
Parameters:
| msg | The call.route message | 
| bool  imRouting (Message& msg) | imRouting | 
[virtual]
IM message routing handler called by the driver
Parameters:
| msg | The im.route message | 
| bool  imExecute (Message& msg) | imExecute | 
[virtual]
Process an IM message
Parameters:
| msg | The im.execute of chan.text message | 
| bool  buildIncomingChannel (Message& msg, const String& dest) | buildIncomingChannel | 
[virtual]
Build an incoming channel. Answer it if succesfully connected and auto answer is set. Reject it if multiline is false and the driver is busy. Set the active one if requested by config and there is no active channel. Start the ringer if there is no active channel
Parameters:
| msg | The call.execute message | 
| dest | The destination (target) | 
Returns: True if a channel was created and connected
| bool  buildOutgoingChannel (NamedList& params) | buildOutgoingChannel | 
[virtual]
Build an outgoing channel
Parameters:
| params | Call parameters | 
Returns: True if a channel was created its router started
| bool  callIncoming (Message& msg, const String& dest) | callIncoming | 
Call execute handler called by the driver. Ask the logics to create the channel
Parameters:
| msg | The call.execute message | 
| dest | The destination (target) | 
Returns: True if a channel was created and connected
| void  callAnswer (const String& id, bool setActive = true) | callAnswer | 
Answer an incoming call
Parameters:
| id | The accepted channel's id | 
| setActive | True to activate the answered channel | 
Returns: True on success
| void  callTerminate (const String& id, const char* reason = 0, const char* error = 0) | callTerminate | 
Terminate a call
Parameters:
| id | The channel's id | 
| reason | Optional termination reason | 
| error | Optional termination error | 
Returns: True on success
| ClientChannel*  getActiveChannel () | getActiveChannel | 
Get the active channel if any
Returns: Referenced pointer to the active channel or 0
| bool  ringer (bool in, bool on) | ringer | 
[virtual]
Start/stop ringer. The ringer is started only if not disabled
Parameters:
| in | True if the request is for the incoming call alert, false if it is for the outgoing call ringing alert | 
| on | True to start, false to stop the sound | 
Returns: True on success
| bool  createSound (const char* name, const char* file, const char* device = 0) | createSound | 
[virtual]
Create a sound object. Append it to the global list
Parameters:
| name | The name of sound object | 
| file | The file to play (should contain the whole path and the file name) | 
| device | Optional device used to play the file. Set to 0 to use the default one | 
Returns: True on success, false if a sound with the given name already exists
| bool  emitDigits (const char* digits, const String& id = String::empty()) | emitDigits | 
Send digits on selected channel
Parameters:
| digits | The digits to send | 
| id | The channel id. Use the active one if empty | 
Returns: True on success
| inline bool  emitDigit (char digit, const String& id = String::empty()) | emitDigit | 
Send a digit on selected channel
Parameters:
| digit | The digit to send | 
| id | The channel id. Use the active one if empty | 
Returns: True on success
| inline bool  getBoolOpt (ClientToggle toggle) | getBoolOpt | 
Get a boolean option of this client
Parameters:
| toggle | Options's id to retrieve | 
Returns: True on success
| bool  setBoolOpt (ClientToggle toggle, bool value, bool updateUi = false) | setBoolOpt | 
Set a boolean option of this client
Parameters:
| toggle | Options's id to set | 
| value | Value to set | 
| updateUi | True to update UI | 
Returns: True if the option's value changed
| bool  formatDateTime (String& dest, unsigned int secs, const char* format,
	bool utc = false) | formatDateTime | 
[virtual]
Build a date/time string from UTC time
Parameters:
| dest | Destination string | 
| secs | Seconds since EPOCH | 
| format | Format string used to build the destination | 
| utc | True to build UTC time instead of local time | 
Returns: True on success
| inline bool  exiting () | exiting | 
[static]
Check if the client is exiting
Returns: True if the client therad is exiting
| bool  getActive (const String& name) | getActive | 
[static]
Retrieve the active state of a window
Parameters:
| name | Window name | 
Returns: True if the window is found and it's active
| Message*  buildMessage (const char* msg, const String& account,
	const char* oper = 0) | buildMessage | 
[static]
Build a message to be sent by the client. Add module, line and operation parameters
Parameters:
| msg | Message name | 
| account | The account sending the message | 
| oper | Optional operation parameter | 
Returns: Message pointer
| Message*  buildNotify (bool online, const String& account,
	const ClientResource* from = 0) | buildNotify | 
[static]
Build a resource.notify message
Parameters:
| online | True to build an 'online' message, false to build an 'offline' one | 
| account | The account sending the message | 
| from | Optional resource to add to message | 
Returns: Message pointer
| Message*  buildSubscribe (bool request, bool ok, const String& account,
	const String& contact, const char* proto = 0) | buildSubscribe | 
[static]
Build a resource.subscribe or resource.notify message to request a subscription or respond to a request
Parameters:
| request | True to build a request, false to build a response | 
| ok | True to build a subscribe(d) message, false to build an unsubscribe(d) message | 
| account | The account to use for the message | 
| contact | The destination contact | 
| proto | Optional protocol | 
Returns: Valid Message pointer
| Message*  buildUserRoster (bool update, const String& account,
	const String& contact, const char* proto = 0) | buildUserRoster | 
[static]
Build an user.roster message
Parameters:
| update | True to build an update, false to build a delete request | 
| account | The account to use for the message | 
| contact | The contact to update or delete | 
| proto | Optional protocol | 
Returns: Valid Message pointer
| bool  addLogic (ClientLogic* logic) | addLogic | 
[static]
Add a logic to the list. The added object is not owned by the client
Parameters:
| logic | Pointer to the logic to add | 
Returns: True on success. False if the pointer is 0 or already added
| void  removeLogic (ClientLogic* logic) | removeLogic | 
[static]
Remove a logic from the list without destroying it
Parameters:
| logic | Pointer to the logic to remove | 
| ClientLogic*  findLogic (const String& name) | findLogic | 
[static]
Convenience method to retrieve a logic
Parameters:
| name | The logic's name | 
Returns: ClientLogic pointer or 0
| Message*  eventMessage (const String& event, Window* wnd = 0,
	const char* name = 0, NamedList* params = 0) | eventMessage | 
[static]
Build an 'ui.event' message
Parameters:
| event | Event's name | 
| wnd | Optional window to add to message | 
| name | Optional 'name' parameter value | 
| params | Other optional parameters to be added to the message | 
Returns: Valid Message pointer
| bool  save (Configuration& cfg, Window* parent = 0, bool showErr = true) | save | 
[static]
Save a configuration file. Call openMessage() on failure
Parameters:
| cfg | The configuration file to save | 
| parent | The parent of the error window if needded | 
| showErr | True to open a message popup on failure | 
Returns: True on success
| ClientToggle  getBoolOpt (const String& name) | getBoolOpt | 
[static]
Check if a string names a client's boolean option
Parameters:
| name | String to check | 
Returns: Valid client option index or OptCount if not found
| inline void  setLogicsTick () | setLogicsTick | 
[static]
Set the flag indicating that the client should tick the logics
| void  appendEscape (String& buf, ObjList& list, char sep = ',', bool force = false) | appendEscape | 
[static]
Append URI escaped String items to a String buffer
Parameters:
| buf | Destination string | 
| list | Source list | 
| sep | Destination list separator. It will be escaped in each added string | 
| force | True to allow appending empty strings | 
| ObjList*  splitUnescape (const String& buf, char sep = ',', bool emptyOk = false) | splitUnescape | 
[static]
Splits a string at a delimiter character. URI unescape each string in result
Parameters:
| buf | Source string | 
| sep | Character where to split the string. It will be unescaped in each string | 
| emptyOk | True if empty strings should be inserted in list | 
Returns: A newly allocated list of strings, must be deleted after use
| void  removeChars (String& buf, const char* chars) | removeChars | 
[static]
Remove characters from a given string
Parameters:
| buf | Source string | 
| chars | Characters to remove from input string | 
| void  fixPhoneNumber (String& number, const char* chars = 0) | fixPhoneNumber | 
[static]
Fix a phone number. Remove extra '+' from begining. Remove requested characters. Adding '+' to characters to remove won't remove the plus sign from the begining. Clear the number if a non digit char is found
Parameters:
| number | Phone number to fix | 
| chars | Optional characters to remove from number | 
| bool  addTrayIcon (const String& wndName, int prio, NamedList* params) | addTrayIcon | 
[static]
Add a tray icon to a window's stack. Update it if already there. Show it if it's the first one and the client is started. This method must be called from client's thread
Parameters:
| wndName | The window owning the icon | 
| prio | Tray icon priority. The list is kept in ascending order | 
| params | Tray icon parameters. It will be consumed | 
Returns: True on success
| bool  removeTrayIcon (const String& wndName, const String& name) | removeTrayIcon | 
[static]
Remove a tray icon from a window's stack. Show the next one if it's the first This method must be called from client's thread
Parameters:
| wndName | The window owning the icon | 
| name | Tray icon name | 
Returns: True on success
| bool  updateTrayIcon (const String& wndName) | updateTrayIcon | 
[static]
Update the first tray icon in a window's stack. Remove any existing icon the the stack is empty This method must be called from client's thread
Parameters:
| wndName | The window owning the icon | 
Returns: True on success
| void  generateGuid (String& buf, const String& extra = String::empty()) | generateGuid | 
[static]
Generate a GUID string in the format 8*HEX-4*HEX-4*HEX-4*HEX-12*HEX
Parameters:
| buf | Destination string | 
| extra | Optional string whose hash will be inserted in the GUID | 
| void  plain2html (String& buf, bool spaceEol = false) | plain2html | 
[static]
Replace plain text chars with HTML escape or markup
Parameters:
| buf | Destination string | 
| spaceEol | True to replace end of line with space instead of html markup | 
| NamedString*  findParamByValue (NamedList& list, const String& value,
	NamedString* skip = 0) | findParamByValue | 
[static]
Find a list parameter by its value
Parameters:
| list | The list | 
| value | Parameter value | 
| skip | Optional parameter to skip | 
Returns: NamedString pointer, 0 if not found
| int  decodeFlags (const TokenDict* dict, const NamedList& params,
	const String& prefix = String::empty()) | decodeFlags | 
[static]
Decode flags from dictionary values found in a list of parameters Flags are allowed to begin with '!' to reset
Parameters:
| dict | The dictionary containing the flags | 
| params | The list of parameters used to update the flags | 
| prefix | Optional parameter prefix | 
Returns: Decoded flags
| int  decodeFlags (const TokenDict* dict, const String& flags, int defVal = 0) | decodeFlags | 
[static]
Decode flags from dictionary values and comma separated list. Flags are allowed to begin with '!' to reset
Parameters:
| dict | The dictionary containing the flags | 
| flags | The list of flags | 
| defVal | Default value to return if empty or no non 0 value is found in dictionary | 
Returns: Decoded flags
| void  addPathSep (String& dest, const String& path, char sep = 0) | addPathSep | 
[static]
Add path separator at string end. Set destination string. Source and dstination may be the same string
Parameters:
| dest | Destination string | 
| path | Source string | 
| sep | Path separator, use Engine::pathSeparator() if 0 | 
| void  fixPathSep (String& path) | fixPathSep | 
[static]
Fix path separator. Set it to platform default
Parameters:
| path | The path | 
| bool  removeEndsWithPathSep (String& dest, const String& path, char sep = 0) | removeEndsWithPathSep | 
[static]
Remove path separator from string end. Set destination string. Source and dstination may be the same string
Parameters:
| dest | Destination string | 
| path | Source string | 
| sep | Path separator, use Engine::pathSeparator() if 0 | 
Returns: True if destination string is not empty
| bool  getLastNameInPath (String& dest, const String& path, char sep = 0) | getLastNameInPath | 
[static]
Set destination from last item in path. Source and dstination may be the same string
Parameters:
| dest | Destination string | 
| path | Source string | 
| sep | Path separator, use Engine::pathSeparator() if 0 | 
Returns: True if destination string is not empty
| bool  removeLastNameInPath (String& dest, const String& path, char sep = 0,
	const String& equalOnly = String::empty()) | removeLastNameInPath | 
[static]
Remove last name in path, set destination from remaining. If the path ends with 'sep', only 'sep' is removed If the path don't contain 'sep' dest is set to empty. Source and dstination may be the same string
Parameters:
| dest | Destination string | 
| path | Source string | 
| sep | Path separator, use Engine::pathSeparator() if 0 | 
| equalOnly | Optional string to match last item. Don't remove (set destination to empty) if not equal | 
Returns: True if removed
| bool  addToLogFormatted (const char* format, ...) | addToLogFormatted | 
[static]
Add a formatted log line
Parameters:
| format | Text format | 
Returns: True on success
| static Configuration s_settings | s_settings | 
| static Configuration s_actions | s_actions | 
| static Configuration s_accounts | s_accounts | 
| static Configuration s_contacts | s_contacts | 
| static Configuration s_providers | s_providers | 
| static Configuration s_history | s_history | 
| static Configuration s_calltoHistory | s_calltoHistory | 
| static Regexp s_notSelected | s_notSelected | 
| static Regexp s_guidRegexp | s_guidRegexp | 
| static String s_skinPath | s_skinPath | 
| static String s_soundPath | s_soundPath | 
| static String s_ringInName | s_ringInName | 
| static String s_ringOutName | s_ringOutName | 
| static String s_statusWidget | s_statusWidget | 
| static String s_debugWidget | s_debugWidget | 
| static String s_toggles[OptCount] | s_toggles[OptCount] | 
| static int s_maxConfPeers | s_maxConfPeers | 
| static bool s_engineStarted | s_engineStarted | 
| ClientLogic*  createDefaultLogic () | createDefaultLogic | 
[protected virtual]
Create the default logic The default implementation creates a DefaultLogic object
Returns: ClientLogic pointer or 0
| bool  createWindow (const String& name,
	const String& alias = String::empty()) | createWindow | 
[protected pure virtual]
| void  loadWindows (const char* file = 0) | loadWindows | 
[protected pure virtual]
| void  initWindows () | initWindows | 
[protected virtual]
| void  initClient () | initClient | 
[protected virtual]
| void  exitClient () | exitClient | 
[protected virtual]
| bool  isUIThread () | isUIThread | 
[protected virtual]
| inline bool  needProxy () | needProxy | 
[protected const]
| bool  driverLockLoop () | driverLockLoop | 
[protected]
| bool  driverLock (long maxwait = 0) | driverLock | 
[protected static]
| void  driverUnlock () | driverUnlock | 
[protected static]
| static bool s_exiting | s_exiting | 
[protected]
| ObjList m_windows | m_windows | 
[protected]
| bool m_initialized | m_initialized | 
[protected]
| int m_line | m_line | 
[protected]
| bool m_oneThread | m_oneThread | 
[protected]
| bool m_toggles[OptCount] | m_toggles[OptCount] | 
[protected]
| ObjList m_relays | m_relays | 
[protected]
| ClientLogic* m_defaultLogic | m_defaultLogic | 
[protected]
| static Client* s_client | s_client | 
[protected]
| static int s_changing | s_changing | 
[protected]
| static ObjList s_logics | s_logics | 
[protected]
| static bool s_idleLogicsTick | s_idleLogicsTick | 
[protected]
| Thread* m_clientThread | m_clientThread | 
[protected]
| Generated by: paulc on bussard on Fri May 8 12:37:22 2015, using kdoc 2.0a54. |