Index: src/libchcore/IColumnsDefinition.h =================================================================== diff -u -r9479911a096555a7504c5c8a8eaee83ecb63440c -r7b830c34855c8aaa81aac2c6e0ca0fa6bae95e66 --- src/libchcore/IColumnsDefinition.h (.../IColumnsDefinition.h) (revision 9479911a096555a7504c5c8a8eaee83ecb63440c) +++ src/libchcore/IColumnsDefinition.h (.../IColumnsDefinition.h) (revision 7b830c34855c8aaa81aac2c6e0ca0fa6bae95e66) @@ -21,27 +21,43 @@ #include "libchcore.h" #include "TString.h" +#include BEGIN_CHCORE_NAMESPACE class LIBCHCORE_API IColumnsDefinition { public: + enum ETypes + { + eType_bool, + eType_short, + eType_ushort, + eType_int, + eType_uint, + eType_long, + eType_ulong, + eType_longlong, + eType_ulonglong, + eType_double, + eType_string, + eType_path, + + eType_Last + }; + +public: virtual ~IColumnsDefinition(); - virtual size_t AddColumn(const TString& strColumnName) = 0; + virtual size_t AddColumn(const TString& strColumnName, ETypes eColType) = 0; virtual void Clear() = 0; - virtual size_t GetColumnIndex(const TString& strColumnName, bool bAdd = true) = 0; - virtual TString GetColumnName(size_t stIndex) const = 0; + virtual size_t GetColumnIndex(const wchar_t* strColumnName) = 0; + virtual const TString& GetColumnName(size_t stIndex) const = 0; virtual size_t GetCount() const = 0; virtual bool IsEmpty() const = 0; - - virtual IColumnsDefinition& operator%(const TString& strColName) = 0; }; -typedef boost::shared_ptr IColumnsDefinitionPtr; - END_CHCORE_NAMESPACE #endif