00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef PEEKABOT_PROP_VISITOR_HH_INCLUDED
00023 #define PEEKABOT_PROP_VISITOR_HH_INCLUDED
00024
00025
00026 namespace peekabot
00027 {
00028 class Prop;
00029 class BoolPropBase;
00030 class FloatPropBase;
00031 class StringPropBase;
00032 class EnumPropBase;
00033 class ColorPropBase;
00034 class Uint32PropBase;
00035 class Vector3PropBase;
00036 class LayerPropAdapter;
00037 class MtowPropAdapter;
00038
00039 class PropVisitor
00040 {
00041 public:
00042 virtual ~PropVisitor() {}
00043
00044 virtual void visit(Prop *prop) {}
00045
00046 virtual void visit(BoolPropBase *prop) = 0;
00047
00048 virtual void visit(FloatPropBase *prop) = 0;
00049
00050 virtual void visit(StringPropBase *prop) = 0;
00051
00052 virtual void visit(EnumPropBase *prop) = 0;
00053
00054 virtual void visit(ColorPropBase *prop) = 0;
00055
00056 virtual void visit(Uint32PropBase *prop) = 0;
00057
00058 virtual void visit(Vector3PropBase *prop) = 0;
00059
00060 virtual void visit(LayerPropAdapter *prop) = 0;
00061
00062 virtual void visit(MtowPropAdapter *prop) = 0;
00063 };
00064 }
00065
00066
00067 #endif // PEEKABOT_PROP_VISITOR_HH_INCLUDED