ML Reference
|
00001 // **InsertLicense** code 00002 //------------------------------------------------------------------------- 00007 00012 //------------------------------------------------------------------------- 00013 #ifndef __mlImagePropertyExtension_H 00014 #define __mlImagePropertyExtension_H 00015 00016 // mlUtils-includes 00017 #ifndef __mlRuntimeSubClass_H 00018 #include "mlRuntimeSubClass.h" 00019 #endif 00020 00021 ML_UTILS_START_NAMESPACE 00022 00023 //------------------------------------------------------------------- 00025 00026 //------------------------------------------------------------------- 00029 class ML_UTILS_EXPORT ImagePropertyExtension { 00030 00031 public: 00032 00034 ImagePropertyExtension() 00035 { 00036 ML_TRACE_IN_TIME_CRITICAL("ImagePropertyExtension::ImagePropertyExtension()"); 00037 } 00038 00040 virtual ~ImagePropertyExtension() 00041 { 00042 ML_TRACE_IN_TIME_CRITICAL("ImagePropertyExtension::~ImagePropertyExtension()"); 00043 } 00044 00049 virtual bool equals(const ImagePropertyExtension &extImageProps) const = 0; 00050 00051 00056 virtual ImagePropertyExtension *createClone () const = 0; 00057 00058 00062 virtual std::string getValueAsString () const = 0; 00063 00066 virtual MLErrorCode setValueFromString(const std::string& stringValue) = 0; 00067 00068 00070 virtual bool operator==(const ImagePropertyExtension &extImageProps) const; 00071 00073 virtual bool operator!=(const ImagePropertyExtension &extImageProps) const; 00074 00075 00078 ML_ABSTRACT_CLASS_HEADER(ImagePropertyExtension) 00079 00080 private: 00082 ImagePropertyExtension& operator=(const ImagePropertyExtension&); 00083 }; 00085 00086 //------------------------------------------------------------------- 00088 //------------------------------------------------------------------- 00089 typedef std::vector<ImagePropertyExtension*> ImagePropertyExtensionVector; 00090 00091 00092 ML_UTILS_END_NAMESPACE 00093 00094 00095 //----------------------------------------------------------------------------------- 00096 // Stream output for std::ostream 00097 //----------------------------------------------------------------------------------- 00098 namespace std { 00099 00101 ML_UTILS_EXPORT ostream& operator<<(ostream& s, const ML_NAMESPACE::ImagePropertyExtension &extIP); 00102 } 00103 00104 #endif //of __mlImagePropertyExtension_H 00105 00106 00107