Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
3584 sourcerer 1
/*
2
 * This file is part of libdom.
3
 * Licensed under the MIT License,
4
 *                http://www.opensource.org/licenses/mit-license.php
5
 * Copyright 2009 Bo Yang 
6
 */
7
 
8
#ifndef dom_core_typeinfo_h_
9
#define dom_core_typeinfo_h_
10
 
11
#include 
12
 
13
#include 
14
#include 
15
 
16
typedef struct dom_type_info dom_type_info;
17
 
18
typedef enum {
19
	DOM_TYPE_INFO_DERIVATION_RESTRICTION	= 0x00000001,
20
	DOM_TYPE_INFO_DERIVATION_EXTENSION		= 0x00000002,
21
	DOM_TYPE_INFO_DERIVATION_UNION			= 0x00000004,
22
	DOM_TYPE_INFO_DERIVATION_LIST			= 0x00000008
23
} dom_type_info_derivation_method;
24
 
25
dom_exception _dom_type_info_get_type_name(dom_type_info *ti,
26
		dom_string **ret);
27
#define dom_type_info_get_type_name(t, r) _dom_type_info_get_type_name( \
28
		(dom_type_info *) (t), (r))
29
 
30
 
31
dom_exception _dom_type_info_get_type_namespace(dom_type_info *ti,
32
		dom_string **ret);
33
#define dom_type_info_get_type_namespace(t, r) \
34
		_dom_type_info_get_type_namespace((dom_type_info *) (t), (r))
35
 
36
 
37
dom_exception _dom_type_info_is_derived(dom_type_info *ti,
38
		dom_string *namespace, dom_string *name,
39
		dom_type_info_derivation_method method, bool *ret);
40
#define dom_type_info_is_derived(t, s, n, m, r)  _dom_type_info_is_derived(\
41
		(dom_type_info *) (t), (s), (n), \
42
		(dom_type_info_derivation_method) (m), (bool *) (r))
43
 
44
 
45
#endif