aboutsummaryrefslogtreecommitdiff
path: root/Src/xml/ifc_xmlreaderparams.h
blob: cb10434d252a8cf63737e46c7791d8c305665210 (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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#ifndef NULLSOFT_XML_IFC_XMLREADERPARAMS_H
#define NULLSOFT_XML_IFC_XMLREADERPARAMS_H

#include <bfc/dispatch.h>
#include <bfc/platform/types.h>
// ----------------------------------------------------------------------------

class NOVTABLE ifc_xmlreaderparams : public Dispatchable 
{
  protected:
    ifc_xmlreaderparams() {}
    virtual ~ifc_xmlreaderparams() {}
  public:
    const wchar_t *getItemName(size_t i);
    const wchar_t *getItemValue(size_t i);
    const wchar_t *getItemValue(const wchar_t *name);
    const wchar_t *enumItemValues(const wchar_t *name, size_t nb);
		int getItemValueInt(const wchar_t *name, int def = 0);
    size_t getNbItems();
  
  protected:
    DISPATCH_CODES
		{
      XMLREADERPARAMS_GETITEMNAME = 100,
      XMLREADERPARAMS_GETITEMVALUE = 200,
      XMLREADERPARAMS_GETITEMVALUE2 = 201,
      XMLREADERPARAMS_ENUMITEMVALUES = 202,
			XMLREADERPARAMS_GETITEMVALUEINT = 300,
      XMLREADERPARAMS_GETNBITEMS = 400,
    };
};

// ----------------------------------------------------------------------------

inline const wchar_t *ifc_xmlreaderparams::getItemName(size_t i) 
{
  return _call(XMLREADERPARAMS_GETITEMNAME, (const wchar_t *)0, i);
}

inline const wchar_t *ifc_xmlreaderparams::getItemValue(size_t i) 
{
  return _call(XMLREADERPARAMS_GETITEMVALUE, (const wchar_t *)0, i);
}

inline const wchar_t *ifc_xmlreaderparams::getItemValue(const wchar_t *name) 
{
  return _call(XMLREADERPARAMS_GETITEMVALUE2, (const wchar_t *)0, name);  
}

inline const wchar_t *ifc_xmlreaderparams::enumItemValues(const wchar_t *name, size_t nb) 
{
  return _call(XMLREADERPARAMS_ENUMITEMVALUES, (const wchar_t *)0, name, nb);
 }

inline int ifc_xmlreaderparams::getItemValueInt(const wchar_t *name, int def) 
{
 return _call(XMLREADERPARAMS_GETITEMVALUEINT, (int)0, name, def);
}

inline size_t ifc_xmlreaderparams::getNbItems() 
{
  return _call(XMLREADERPARAMS_GETNBITEMS, (size_t)0);
}

#endif