00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __CPOLYMORPHIC_H
00019 #define __CPOLYMORPHIC_H
00020
00021 #include <string>
00022 #include "defs.h"
00023 #include "util.h"
00024
00025 class cStructDescriptor;
00026
00051 class SIM_API cPolymorphic
00052 {
00053 public:
00054
00055
00056
00057 virtual cStructDescriptor *createDescriptor();
00058
00059 public:
00064 cPolymorphic() {}
00065
00071 virtual ~cPolymorphic() {}
00072
00078 virtual const char *className() const;
00079
00082
00087 virtual const char *fullName() const;
00088
00095 virtual std::string fullPath() const;
00096
00106 virtual std::string info() const;
00107
00112 virtual void info(char *buf);
00113
00120 virtual std::string detailedInfo() const;
00121
00127 virtual cPolymorphic *dup() const;
00129 };
00130
00131 #endif
00132