

#ifndef AST_MENU_H
#define AST_MENU_H

#include <osdbase.h>
#include "ast_vbox.h"

class astMessageItem;

class astMainMenu : public cOsdMenu
{
  astVoiceboxList m_vbox_list;

  void DisplayVoiceboxList();

public:
  astMainMenu( astVoiceboxList vbl );
  virtual ~astMainMenu() { };

  virtual eOSState ProcessKey(eKeys Key);
};

class astFolderMenu : public cOsdMenu
{
  astVoicebox &m_vbox;
  void DisplayFolderList( );

 public:
  
  astFolderMenu( astVoicebox &vb );
 
  virtual eOSState ProcessKey(eKeys Key);  
};

class astMoveMenu : public cOsdMenu
{
  astVoicebox &m_vbox;
  astMessageItem *m_message;

  void DisplayFolderList( );

 public:
  
  astMoveMenu( astVoicebox &vb, astMessageItem *message );
 
  virtual eOSState ProcessKey(eKeys Key);  
};

class astVoiceboxMenu : public cOsdMenu
{
  astVoicebox m_vbox;
  int m_display_mode;

  void DisplayMessageList( );

public:
  astVoiceboxMenu( astVoicebox vb );
  virtual ~astVoiceboxMenu() { };

  virtual eOSState ProcessKey(eKeys Key);
};

#endif
