--- a/src/hbcore/indicatorplugins/hbindicatorplugininterface.cpp Fri Sep 17 08:32:10 2010 +0300
+++ b/src/hbcore/indicatorplugins/hbindicatorplugininterface.cpp Mon Oct 04 00:38:12 2010 +0300
@@ -53,6 +53,18 @@
clients, it should check client security credentials in accessAllowed() function.
Indicator framework calls this function before activating/deactivating indicators.
+ \section _exceptions Exception handling
+
+ Indicator service uses two strategies in exception handling: Avoidance and trapping.
+ Memory allocation exceptions while an indicator is running are avoided by ensuring there is
+ sufficient heap space available before allowing new indicators to be activated.
+ Trapping is used while an indicator is created. A call to createIndicator() is enclosed
+ in try/catch block. Memory allocation exception causes indicator activation to fail
+ and an error is returned to a client. Plugin should take care there are no memory leaks
+ if exception is thrown inside createIndicator(). Calls to HbIndicatorInterface
+ functions are trapped and thrown allocation exceptions are ignored. Plugins can
+ provide more fine grained exception handling by trapping exceptions themselves.
+
\section _platform_hbindicatorplugin Platform-specific implementation notes for HbIndicatorPluginInterface
\subsection _nonsymbian Non-Symbian