|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Detailed DescriptionFunctionalities specific to Symbian OS. Symbian OS strongly discourages the use of polling since this wastes CPU power, and instead provides Active Object and Active Scheduler pattern to allow application (in this case, PJLIB) to register asynchronous tasks. PJLIB port for Symbian complies to this recommended behavior. As the result, few things have been changed in PJLIB for Symbian:
Since timer heap and ioqueue polling are no longer necessary, Symbian application can now poll for all events by calling User::WaitForAnyRequest() and CActiveScheduler::RunIfReady(). PJLIB provides a thin wrapper which calls these two functions, called pj_symbianos_poll(). Function Documentation
Wait the completion of any Symbian active objects. When the timeout value is not specified (the ms_timeout argument is -1), this function is a thin wrapper which calls User::WaitForAnyRequest() and CActiveScheduler::RunIfReady(). If the timeout value is specified, this function will schedule a timer entry to the timer heap (which is an Active Object), to limit the wait time for event occurences. Scheduling a timer entry is an expensive operation, therefore application should only specify a timeout value when it's really necessary (for example, when it's not sure there are other Active Objects currently running in the application).
Notify PJLIB that the access point connection has been down or unusable and PJLIB should not try to access the Symbian socket API (especially ones that send packets). Sending packet when RConnection is reconnected to different access point may cause the WaitForRequest() for the function to block indefinitely.
Specify Symbian OS parameters to be used by PJLIB. This function MUST be called before pj_init() is called.
Copyright (C) 2006-2009 Teluu Inc.
| |
|||||||||||||||||||||||||||||||||||||||||||||||||||||