aboutsummaryrefslogtreecommitdiff
path: root/Src/Plugins/Input/in_swf/SWFParameters.h
blob: ca9b68e0b3eb4a344915fb19b24855857f14101b (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
#pragma once
#include "../xml/ifc_xmlreadercallback.h"
#include "XMLString.h"
#include <vector>
#include <crtdefs.h>

class obj_xml;

struct SWFArgument
{
	wchar_t *type;
	wchar_t *value;
};

class SWFParameters : public ifc_xmlreadercallback
{
public:
	typedef std::vector<SWFArgument*> ArgumentList;

	SWFParameters(obj_xml *_parser);
	~SWFParameters();

	wchar_t *functionName;

	bool GetUnsigned(size_t index, unsigned int *value);
	bool GetDouble(size_t index, double *value);
private:
	void StartTag(const wchar_t *xmlpath, const wchar_t *xmltag, ifc_xmlreaderparams *params);
	void EndTag(const wchar_t *xmlpath, const wchar_t *xmltag);
	XMLString currentParameter;
	ArgumentList arguments;
	
	_locale_t C_locale;
	obj_xml *parser;
protected:
	RECVS_DISPATCH;
};