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

Diff of /smsdaemon/Plugin.h

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

revision 26 by torben, Mon Jun 9 18:15:53 2008 UTC revision 184 by torben, Fri Dec 12 14:06:11 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  {  {
16  public:  public:
17            Plugin(std::string cmd, std::string desc);
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() = 0;          virtual std::string GetCommand() {return _command;}
30    
31          /*          /*
32           * Returns a desciption of this plugin - displayed when somebody calls "help"           * Returns a desciption of this plugin - displayed when somebody calls "help"
33           */           */
34          virtual std::string GetDescription() =  0;          virtual std::string GetDescription() {return _description;}
35    
36    
37            /*
38         *  A helper plugin is not accessible to the client but can be used to build a proxy / decorater plugin
39         */
40            virtual bool IsHelper() {return false;}
41    
42          virtual ~Plugin() {}          virtual ~Plugin() {}
43    protected:
44    
45            std::string _command;
46            std::string _description;
47  };  };
48    
49    

Legend:
Removed from v.26  
changed lines
  Added in v.184

  ViewVC Help
Powered by ViewVC 1.1.20