00001
00004
00005
00006
00007
00008
00009
00010
00011
00012
00014
00015 #ifndef GROOVX_PKGS_MTX_VARIANT_H_UTC20050626084022_DEFINED
00016 #define GROOVX_PKGS_MTX_VARIANT_H_UTC20050626084022_DEFINED
00017
00018 namespace dash
00019 {
00020 class variant;
00021 }
00022
00023 namespace rutz
00024 {
00025 class fstring;
00026 }
00027
00028 class mtx;
00029
00030 class dash::variant
00031 {
00032 public:
00033 virtual ~variant();
00034
00035 virtual mtx as_mtx() const = 0;
00036 virtual rutz::fstring as_string() const = 0;
00037 virtual double as_double() const = 0;
00038 virtual int as_int() const = 0;
00039
00040 virtual mtx get_mtx_field(const char* field_name) const = 0;
00041 virtual rutz::fstring get_string_field(const char* field_name) const = 0;
00042 virtual double get_double_field(const char* field_name) const = 0;
00043 virtual int get_int_field(const char* field_name) const = 0;
00044 virtual bool get_bool_field(const char* field_name) const = 0;
00045
00046 virtual bool has_field(const char* field_name) const = 0;
00047
00048 virtual void set_mtx_field(const char* field_name, const mtx& field) = 0;
00049 virtual void set_string_field(const char* field_name, const char* field) = 0;
00050 virtual void set_double_field(const char* field_name, double field) = 0;
00051 virtual void set_int_field(const char* field_name, int field) = 0;
00052 virtual void set_bool_field(const char* field_name, bool field) = 0;
00053 };
00054
00055 static const char __attribute__((used)) vcid_groovx_pkgs_mtx_variant_h_utc20050626084022[] = "$Id: variant.h 10065 2007-04-12 05:54:56Z rjpeters $ $HeadURL: file:
00056 #endif // !GROOVX_PKGS_MTX_VARIANT_H_UTC20050626084022_DEFINED