LayerManagerService: added documentation for ICommandExecutor
authorTimo Lotterbach <timo.lotterbach@bmw-carit.de>
Tue, 31 Jan 2012 10:23:35 +0000 (11:23 +0100)
committerTimo Lotterbach <timo.lotterbach@bmw-carit.de>
Thu, 16 Feb 2012 08:40:18 +0000 (09:40 +0100)
Added the API description for ICommandExecutor for the LayerMamagement project documentation.

LayerManagerService/include/ICommandExecutor.h

index 7f13c89..8747183 100644 (file)
@@ -30,49 +30,192 @@ class ICommand;
 class Scene;
 
 /**
- * Objects who implement this interface can be used to have command objects executed. Communication
- * classes must only know this interface of a class to be able to pass along command objects.
+ * \brief Interface for LayerManagement Command Executors
  *
- * Implementation detail: This interface is used to reduce dependency of communicators on the main layermanagement component
+ * \defgroup ServiceAPI Layer Management Service API
+ *
+ * Objects who implement this interface can be used to have command objects
+ * executed. Communication classes must only know this interface of a class to
+ * be able to pass along command objects.
+ *
+ * \note This interface is used to reduce dependency of communicators on the
+ * main layermanagement component
  */
 class ICommandExecutor
 {
 public:
+    /**
+     * \brief default destructor
+     * \ingroup ServiceAPI
+     */
     virtual ~ICommandExecutor() {}
 
     /**
-     * Have a command processed.
-     * @param commandToBeExecuted The command to be processed
+     * \brief Have a command processed.
+     * \ingroup ServiceAPI
+     * \param[in] commandToBeExecuted The command to be processed
+     * \return TRUE: execution of command successful
+     * \return FALSE: execution of command failed
      */
     virtual bool execute(ICommand* commandToBeExecuted) = 0;
 
+    /**
+     * \brief start layer management
+     * \ingroup ServiceAPI
+     * \param[in] width width of screen to be used for layer management
+     * \param[in] height height of screen to be used for layer management
+     * \param[in] displayName name of screen to be used for layer management
+     * \return TRUE: start management successful
+     * \return FALSE: start management failed
+     */
     virtual bool startManagement(const int width, const int height, const char* displayName) = 0;
+
+    /**
+     * \brief stop layer management
+     * \ingroup ServiceAPI
+     * \return TRUE: stopped management successfully
+     * \return FALSE: stopping management failed
+     */
     virtual bool stopManagement() = 0;
 
+    /**
+     * \brief get handle to scene data structure
+     * \ingroup ServiceAPI
+     * \return Pointer to the internal scene data structure
+     */
     virtual Scene* getScene(void) = 0;
 
     // renderer management
+
+    /**
+     * \brief get list of renderer plugins currently used
+     * \ingroup ServiceAPI
+     * \return Pointer to list of renderer plugins
+     */
     virtual RendererList* getRendererList(void) = 0;
+
+    /**
+     * \brief add a renderer to be used for layer management
+     * \ingroup ServiceAPI
+     * \param[in] renderer pointer to renderer object
+     */
     virtual void addRenderer(IRenderer* renderer) = 0;
+
+    /**
+     * \brief remove renderer from layer management
+     * \ingroup ServiceAPI
+     * \param[in] renderer pointer to renderer object
+     */
     virtual void removeRenderer(IRenderer* renderer) = 0;
 
     // communicator management
+
+    /**
+     * \brief get list of communicator plugins currently used
+     * \ingroup ServiceAPI
+     * \return Pointer to internal list of communicators
+     */
     virtual CommunicatorList* getCommunicatorList(void) = 0;
+
+    /**
+     *
+     * \brief add a communicator to be used for layer management
+     * \ingroup ServiceAPI
+     * \param[in] communicator pointer to communicator object
+     */
     virtual void addCommunicator(ICommunicator* communicator) = 0;
+
+    /**
+     *
+     * \brief remove communicator from layer management
+     * \ingroup ServiceAPI
+     * \param[in] communicator pointer to communicator object
+     */
     virtual void removeCommunicator(ICommunicator* communicator) = 0;
     
+    // scene provider management
+
+    /**
+     * \brief get list of scene provider plugins currently used
+     * \ingroup ServiceAPI
+     * \return Pointer to internal list of communicators
+     */
     virtual SceneProviderList* getSceneProviderList(void) = 0;
+
+    /**
+     *
+     * \brief add a scene provider to be used for layer management
+     * \ingroup ServiceAPI
+     * \param[in] sceneProvider pointer to scene provider object
+     */
     virtual void addSceneProvider(ISceneProvider* sceneProvider) = 0;
+
+    /**
+     *
+     * \brief remove scene provider from layer management
+     * \ingroup ServiceAPI
+     * \param[in] sceneProvider pointer to scene provider object
+     */
     virtual void removeSceneProvider(ISceneProvider* sceneProvider) = 0;
 
+    // client application management
+
+    /**
+     * \brief get map of currently registered applications
+     * \ingroup ServiceAPI
+     * \return map of currently registered applications
+     */
     virtual ApplicationReferenceMap* getApplicationReferenceMap(void) = 0;
+
+    /**
+     * \brief add application to list of currently registered applications
+     * \ingroup ServiceAPI
+     * \param[in] applicationReference pointer to application object
+     */
     virtual void addApplicationReference(IApplicationReference* applicationReference) = 0;
+
+    /**
+     * \brief remove application from list of currently registered applications
+     * \ingroup ServiceAPI
+     * \param[in] applicationReference pointer to application object
+     */
     virtual void removeApplicationReference(IApplicationReference* applicationReference) = 0;
 
-    virtual unsigned int getLayerTypeCapabilities(const LayerType layertype) const = 0; // TODO: removeable, use default command processing ?
-    virtual unsigned int getNumberOfHardwareLayers(const unsigned int screenID) const = 0; // TODO: removeable, use default command processing ?
-    virtual unsigned int* getScreenResolution(const unsigned int screenID) const = 0; // TODO: removeable, use default command processing ?
-    virtual unsigned int* getScreenIDs(unsigned int* length) const = 0; // TODO: removeable, use default command processing ?
+    /**
+     * \brief get capabilities of layer type
+     * \ingroup ServiceAPI
+     * \param[in] layertype layer type
+     * \return bitmask with capability flags set according to layer type capabilities
+     * \todo removable, use default command processing
+     */
+    virtual unsigned int getLayerTypeCapabilities(const LayerType layertype) const = 0;
+
+    /**
+     * \brief get number of supported hardware layers for screen
+     * \ingroup ServiceAPI
+     * \param[in] screenID id of screen
+     * \return number of supported hardware layers for screen
+     * \todo removable, use default command processing
+     */
+    virtual unsigned int getNumberOfHardwareLayers(const unsigned int screenID) const = 0;
+
+    /**
+     * \brief get resolution of screen
+     * \ingroup ServiceAPI
+     * \param[in] screenID id of screen
+     * \return array of integer with width and height of screen
+     * \todo removable, use default command processing
+     */
+    virtual unsigned int* getScreenResolution(const unsigned int screenID) const = 0;
+
+    /**
+     * \brief get list of available screens
+     * \ingroup ServiceAPI
+     * \param[out] length of returned array
+     * \return list of screen ids
+     * \todo removable, use default command processing
+     */
+    virtual unsigned int* getScreenIDs(unsigned int* length) const = 0;
 };
 
 #endif /* _COMMANDEXECUTOR_H_ */