aboutsummaryrefslogtreecommitdiff
path: root/Src/nde/osx/StringField.h
blob: ac906fc7e818c7597d552b3cbf92bc42e6120301 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/*
---------------------------------------------------------------------------
Nullsoft Database Engine
--------------------
codename: Near Death Experience
---------------------------------------------------------------------------
*/

/* 
---------------------------------------------------------------------------

StringField Class Prototypes

---------------------------------------------------------------------------
*/

#ifndef __STRINGFIELD_H
#define __STRINGFIELD_H

#include <CoreFoundation/CFString.h>

class StringField : public Field
{
	
public:
	StringField();
	~StringField();
	
	StringField(CFStringRef Str);
	CFStringRef GetString(); // CFRetain this if you need to keep it for a while
	void SetNDEString(CFStringRef 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);
	
	CFStringRef String;

};

#endif