src/hbcore/indicatorplugins/hbindicatorplugininterface.cpp
changeset 30 80e4d18b72f5
parent 28 b7da29130b0e
equal deleted inserted replaced
28:b7da29130b0e 30:80e4d18b72f5
    50 
    50 
    51     Plugins are responsible for maintaining system security for their own part. If plugin
    51     Plugins are responsible for maintaining system security for their own part. If plugin
    52     performs operations that may compromise security or want's to limit access to specific
    52     performs operations that may compromise security or want's to limit access to specific
    53     clients, it should check client security credentials in accessAllowed() function.
    53     clients, it should check client security credentials in accessAllowed() function.
    54     Indicator framework calls this function before activating/deactivating indicators.
    54     Indicator framework calls this function before activating/deactivating indicators.
       
    55 
       
    56     \section _exceptions Exception handling
       
    57 
       
    58     Indicator service uses two strategies in exception handling: Avoidance and trapping.
       
    59     Memory allocation exceptions while an indicator is running are avoided by ensuring there is
       
    60     sufficient heap space available before allowing new indicators to be activated.
       
    61     Trapping is used while an indicator is created. A call to createIndicator() is enclosed
       
    62     in try/catch block. Memory allocation exception causes indicator activation to fail
       
    63     and an error is returned to a client. Plugin should take care there are no memory leaks
       
    64     if exception is thrown inside createIndicator(). Calls to HbIndicatorInterface
       
    65     functions are trapped and thrown allocation exceptions are ignored. Plugins can
       
    66     provide more fine grained exception handling by trapping exceptions themselves.
    55 
    67 
    56     \section _platform_hbindicatorplugin Platform-specific implementation notes for HbIndicatorPluginInterface
    68     \section _platform_hbindicatorplugin Platform-specific implementation notes for HbIndicatorPluginInterface
    57 
    69 
    58     \subsection _nonsymbian Non-Symbian
    70     \subsection _nonsymbian Non-Symbian
    59 
    71