Apache Qpid - AMQP Messaging for Java JMS, C++, Python, Ruby, and .NET
Apache Qpid Documentation
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
qpid
console
Schema.h
Go to the documentation of this file.
1
/*
2
*
3
* Licensed to the Apache Software Foundation (ASF) under one
4
* or more contributor license agreements. See the NOTICE file
5
* distributed with this work for additional information
6
* regarding copyright ownership. The ASF licenses this file
7
* to you under the Apache License, Version 2.0 (the
8
* "License"); you may not use this file except in compliance
9
* with the License. You may obtain a copy of the License at
10
*
11
* http://www.apache.org/licenses/LICENSE-2.0
12
*
13
* Unless required by applicable law or agreed to in writing,
14
* software distributed under the License is distributed on an
15
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
* KIND, either express or implied. See the License for the
17
* specific language governing permissions and limitations
18
* under the License.
19
*
20
*/
21
#ifndef _QPID_CONSOLE_SCHEMA_H_
22
#define _QPID_CONSOLE_SCHEMA_H_
23
24
#include "
qpid/console/ClassKey.h
"
25
#include <boost/shared_ptr.hpp>
26
#include <vector>
27
28
namespace
qpid {
29
namespace
framing {
30
class
Buffer;
31
}
32
namespace
console {
33
class
Value;
34
35
struct
SchemaArgument
{
36
SchemaArgument
(
framing::Buffer
& buffer,
bool
forMethod =
false
);
37
boost::shared_ptr<Value>
decodeValue
(
framing::Buffer
& buffer);
38
39
std::string
name
;
40
uint8_t
typeCode
;
41
bool
dirInput
;
42
bool
dirOutput
;
43
std::string
unit
;
44
int
min
;
45
int
max
;
46
int
maxLen
;
47
std::string
desc
;
48
std::string
defaultVal
;
49
};
50
51
struct
SchemaProperty
{
52
SchemaProperty
(
framing::Buffer
& buffer);
53
boost::shared_ptr<Value>
decodeValue
(
framing::Buffer
& buffer);
54
55
std::string
name
;
56
uint8_t
typeCode
;
57
uint8_t
accessCode
;
58
bool
isIndex
;
59
bool
isOptional
;
60
std::string
unit
;
61
int
min
;
62
int
max
;
63
int
maxLen
;
64
std::string
desc
;
65
};
66
67
struct
SchemaStatistic
{
68
SchemaStatistic
(
framing::Buffer
& buffer);
69
boost::shared_ptr<Value>
decodeValue
(
framing::Buffer
& buffer);
70
71
std::string
name
;
72
uint8_t
typeCode
;
73
std::string
unit
;
74
std::string
desc
;
75
};
76
77
struct
SchemaMethod
{
78
SchemaMethod
(
framing::Buffer
& buffer);
79
~SchemaMethod
();
80
81
std::string
name
;
82
std::string
desc
;
83
std::vector<SchemaArgument*>
arguments
;
84
};
85
86
struct
SchemaClass
{
87
static
const
uint8_t
KIND_TABLE
= 1;
88
static
const
uint8_t
KIND_EVENT
= 2;
89
90
SchemaClass
(
const
uint8_t
kind
,
const
ClassKey
&
key
,
framing::Buffer
& buffer);
91
~SchemaClass
();
92
const
ClassKey
&
getClassKey
()
const
{
return
key
; }
93
94
const
uint8_t
kind
;
95
const
ClassKey
key
;
96
std::vector<SchemaProperty*>
properties
;
97
std::vector<SchemaStatistic*>
statistics
;
98
std::vector<SchemaMethod*>
methods
;
99
std::vector<SchemaArgument*>
arguments
;
100
};
101
}
102
}
103
104
105
#endif
Qpid C++ API Reference
Generated on Fri Aug 9 2013 for Qpid C++ Client API by
1.8.3.1