src/hbcore/indicatorplugins/hbindicatorplugininterface.cpp
changeset 30 80e4d18b72f5
parent 28 b7da29130b0e
--- 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