00001
00002
00003
00004
00005
00006
00007
00008 #ifndef lestes__backend_v2__workers__worker_base_g_hh__included
00009 #define lestes__backend_v2__workers__worker_base_g_hh__included
00010
00011 #include <lestes/backend_v2/common.hh>
00012
00013 #include <lestes/std/objectize_macros.hh>
00014 package(lestes);
00015 package(backend_v2);
00016 package(structs);
00017 class func_data;
00018 end_package(structs);
00019 end_package(backend_v2);
00020 end_package(lestes);
00021
00022 package(lestes);
00023 package(backend_v2);
00024 package(workers);
00025
00026
00027 class worker_base;
00028
00029
00030
00031
00032
00033
00034 class worker_base : public ::lestes::std::object {
00035 public:
00036
00037 ptr< ::lestes::backend_v2::structs::func_data > data_get() const;
00038
00039
00040 void data_set(const ptr< ::lestes::backend_v2::structs::func_data > &);
00041
00042 virtual void process() abstract;
00043
00044 virtual ptr< ::lestes::backend_v2::structs::func_data > get_result() abstract;
00045
00046
00047
00048
00049 virtual ptr<reflection_list> reflection_get() const;
00050
00051 virtual ptr<field_list_list> field_values_get() const;
00052
00053 protected:
00054
00055 worker_base (
00056 ptr< ::lestes::backend_v2::structs::func_data > a__worker_base__data);
00057
00058
00059 virtual void gc_mark();
00060
00061 private:
00062
00063 srp< ::lestes::backend_v2::structs::func_data > data;
00064 static ptr<reflection_list> reflection;
00065
00066 };
00067
00068
00069 end_package(workers);
00070 end_package(backend_v2);
00071 end_package(lestes);
00072
00073 #endif // lestes__backend_v2__workers__worker_base_g_hh__included