winamp/Src/nde/win/StringField.h

51 lines
1.2 KiB
C++

/*
---------------------------------------------------------------------------
Nullsoft Database Engine
--------------------
codename: Near Death Experience
---------------------------------------------------------------------------
*/
/*
---------------------------------------------------------------------------
StringField Class Prototypes
---------------------------------------------------------------------------
*/
#ifndef __STRINGFIELD_H
#define __STRINGFIELD_H
#include "../NDEString.h"
class StringField : public Field
{
public:
StringField();
~StringField();
StringField(const wchar_t *Str, int strkind=STRING_IS_WCHAR);
wchar_t *GetStringW(void);
void SetStringW(const wchar_t *Str);
void SetNDEString(wchar_t *Str);
protected:
virtual void ReadTypedData(const uint8_t *, size_t len);
virtual void WriteTypedData(uint8_t *, size_t len);
virtual size_t GetDataSize(void);
virtual int Compare(Field *Entry);
virtual int Starts(Field *Entry);
virtual int Contains(Field *Entry);
virtual bool ApplyFilter(Field *Data, int op);
virtual Field *Clone(Table *pTable);
void InitField(void);
wchar_t *StringW;
const wchar_t *optimized_the;
};
#endif