00001
00008 #ifndef MENU_H
00009 #define MENU_H
00010
00011 #if _MSC_VER > 1000
00012 #pragma once
00013 #endif // _MSC_VER > 1000
00014
00015
00016 #include <string>
00017
00018 #ifndef EEML_DEFINED
00019 #define EFIO_STDIO_PROTOTYPES_PASSTHROUGH 1
00020 #include <eeml.h>
00021 #endif
00022
00023
00024
00025 namespace Imagine
00026 {
00027
00042 class AppFunction
00043 {
00044 public:
00045
00046 AppFunction()
00047 {}
00048
00049 AppFunction( std::string const & n )
00050 : name_( n )
00051 {}
00052
00053 virtual ~AppFunction()
00054 {}
00055
00056
00057 std::string const & name() const
00058 { return name_; }
00059
00060 std::string & name()
00061 { return name_; }
00062
00066 virtual Estr_StringList * call( Eeml_Menu menu,
00067 Emsc_Opaque *context,
00068 long argc, char **argv,
00069 Eerr_ErrorReport **outerr ) = 0;
00070
00071 private:
00072
00076 std::string name_;
00077
00078 };
00079
00080 }
00081
00082 #endif
00083