00001 #ifndef serviceI_h
00002 #define serviceI_h
00003
00004 #include "Event/optionVI.h"
00005 #include "Event/messageVI.h"
00006
00007 00009
00010 \e serviceI provides services to optionManager.<br>
00011 a \serviceI derived class is a optionVI derived class.<br>
00012 \e serviceI provides services to messageManager.<br>
00013 a \e serviceI derived class is a massageVI derived class.<br>
00014 <ul>
00015 <li> There is no pure virtual method to be implemented by the derived classes.
00016 <li> A derived class gets the system services calling the method \c serviceTo().
00017 Every object that requires a service should have a unique name.
00018 <li> Via the optionVI services: the derived class should implement the
00019 \c defineOption() to conver some of its parameters into options
00020 (see optionVI for more details).
00021 <li> Note that: \c defineOption() is automatically
00022 called via the \c serviceTo() method. Therefore, the derived class should not
00023 call \c defineOption().
00024 </ul>
00025 */
00026
00027
00028
00029
00030
00031 class serviceI : public messageVI, public optionVI
00032
00033 {
00034 public:
00035
00037 serviceI() {};
00039 ~serviceI() {};
00040
00042 void setName(std::string name);
00043
00045 virtual std::string name() const {return messageVI::name();}
00046 };
00047 #endif