
#ifndef ASTERISK_H
#define ASTERISK_H

#include <plugin.h>

extern const char *VERSION;
extern const char *DESCRIPTION;
extern const char *MAINMENUENTRY;

class cPluginAsterisk : public cPlugin 
{
private:
  // Add any member variables or functions you may need here.
public:
  cPluginAsterisk(void);
  virtual ~cPluginAsterisk();

  virtual const char *Version(void) { return VERSION; }
  virtual const char *Description(void) { return DESCRIPTION; }
  virtual const char *CommandLineHelp(void);

  virtual bool ProcessArgs(int argc, char *argv[]);
  virtual bool Initialize(void);
  virtual bool Start(void);
  virtual void Housekeeping(void);
  virtual const char *MainMenuEntry(void) { return MAINMENUENTRY; }
  virtual cOsdObject *MainMenuAction(void);
  virtual cMenuSetupPage *SetupMenu(void);
  virtual bool SetupParse(const char *Name, const char *Value);

  //! \brief call the mount script with parameter 'start'
  static bool Mount();

  //! \brief call the mount script with parameter 'stop'
  static bool Unmount();

};

#endif
