/[projects]/smsdaemon/Plugin.h
ViewVC logotype

Diff of /smsdaemon/Plugin.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 28 by torben, Mon Jun 9 20:56:03 2008 UTC revision 196 by torben, Thu Dec 18 06:53:29 2008 UTC
# Line 7  Line 7 
7   * Abstract parent class for a sms-daemon plugin.   * Abstract parent class for a sms-daemon plugin.
8   */   */
9    
 #include "Sms.h"  
10    
11  class GsmModem;  class ISmsTransceiver;
12    class SMS;
13    
14  class Plugin  class Plugin
15  {  {
# Line 18  public: Line 18  public:
18    
19          /* Called when a incomming sms triggers this plugin.          /* Called when a incomming sms triggers this plugin.
20           * Use the conversation object to write the response.           * Use the conversation object to write the response.
21           * Note: the plugin is responsible for parsing and validating the arguments,           * Note: the plugin is responsible for parsing and validating the arguments,
22           * and if necessary write a error message back to the user.           * and if necessary write a error message back to the user.
23           */           */
24          virtual void Execute(GsmModem& modem, SMS& sms) = 0;          virtual void Execute(ISmsTransceiver& modem, SMS& sms) = 0;
25    
26          /*          /*
27           * returns the command that triggers this plugin, for example:  "myplugin"           * returns the command that triggers this plugin, for example:  "myplugin"
28           */           */
29          virtual std::string GetCommand() {return _command;}          virtual std::string GetCommand()
30            {
31                    return _command;
32            }
33    
34          /*          /*
35           * Returns a desciption of this plugin - displayed when somebody calls "help"           * Returns a desciption of this plugin - displayed when somebody calls "help"
36           */           */
37          virtual std::string GetDescription() {return _description;}          virtual std::string GetDescription()
38            {
39                    return _description;
40            }
41    
42    
43            /*
44             *  A helper plugin is not accessible to the client but can be used to build a proxy / decorater plugin
45             */
46            virtual bool IsHelper()
47            {
48                    return false;
49            }
50    
51          virtual ~Plugin() {}          virtual ~Plugin() {}
52  protected:  protected:
53          std::string _description;  
54          std::string _command;          std::string _command;
55            std::string _description;
56  };  };
57    
58    

Legend:
Removed from v.28  
changed lines
  Added in v.196

  ViewVC Help
Powered by ViewVC 1.1.20