File: CosQuery.idl

package info (click to toggle)
omniorb4 4.0.6-2.1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 11,944 kB
  • ctags: 18,509
  • sloc: cpp: 87,721; ansic: 16,132; python: 10,429; sh: 2,725; yacc: 2,230; lex: 667; perl: 383; xml: 361; makefile: 76; tcl: 18
file content (66 lines) | stat: -rw-r--r-- 1,768 bytes parent folder | download | duplicates (11)
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
66
//File: CosQuery.idl
//Part of the Query Service

#ifndef _COS_QUERY_IDL_
#define _COS_QUERY_IDL_

// omniORB specific pragmas to insert extra includes into the stub header.
#pragma hh #include "COS_sysdep.h"

#include <orb.idl>

#if defined(__OMNIIDL__) || defined(__OMNIIDL2__)
#include <ir.idl>
#endif

#include <CosQueryCollection.idl>

#pragma prefix "omg.org"

module CosQuery {

	exception QueryInvalid {string why;};
	exception QueryProcessingError {string why;};
	exception QueryTypeInvalid {};

	enum QueryStatus {complete, incomplete};

	typedef CosQueryCollection::ParameterList ParameterList;
	typedef CORBA::InterfaceDef QLType;

	interface Query;
	interface QueryLanguageType {};
	interface SQLQuery : QueryLanguageType {};
	interface SQL_92Query : SQLQuery {};
	interface OQL : QueryLanguageType {};
	interface OQLBasic : OQL {};
	interface OQL_93 : OQL {};
	interface OQL_93Basic : OQL_93, OQLBasic {};

	interface QueryEvaluator {
		typedef sequence<QLType> QLTypes;
		readonly attribute QLTypes ql_types;

		readonly attribute QLType default_ql_type;

		any evaluate (in string query, in QLType ql_type, in ParameterList params) raises(QueryTypeInvalid, QueryInvalid, QueryProcessingError);
	};
	
	interface QueryableCollection : QueryEvaluator, CosQueryCollection::Collection {};

	interface QueryManager : QueryEvaluator {
		Query create (in string query, in QLType ql_type, in ParameterList params) raises(QueryTypeInvalid, QueryInvalid);
	};

	interface Query {
		readonly attribute QueryManager query_mgr;

		void prepare (in ParameterList params) raises(QueryProcessingError);
		void execute (in ParameterList params) raises(QueryProcessingError);

		QueryStatus get_status ();
		any get_result ();
	};

};
#endif /* ifndef _COS_QUERY_IDL_ */