/[resiprocate]/branches/b-directory-reorg/sip/resiprocate/ParameterTypes.hxx
ViewVC logotype

Contents of /branches/b-directory-reorg/sip/resiprocate/ParameterTypes.hxx

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5271 - (show annotations) (download)
Thu Aug 18 23:43:07 2005 UTC (14 years, 3 months ago) by jason
File size: 9655 byte(s)
new directory reorg proposal
1 #if !defined(RESIP_PARAMETERTYPES_HXX)
2 #define RESIP_PARAMETERTYPES_HXX
3
4 #include "resiprocate/BranchParameter.hxx"
5 #include "resiprocate/DataParameter.hxx"
6 #include "resiprocate/QuotedDataParameter.hxx"
7 #include "resiprocate/QopParameter.hxx"
8 #include "resiprocate/IntegerParameter.hxx"
9 #include "resiprocate/FloatParameter.hxx"
10 #include "resiprocate/ExistsParameter.hxx"
11 #include "resiprocate/ParameterTypeEnums.hxx"
12 #include "resiprocate/RportParameter.hxx"
13 #include "resiprocate/Symbols.hxx"
14
15 #define defineParam(_enum, _name, _type, _RFC_ref_ignored) \
16 class _enum##_Param : public ParamBase \
17 { \
18 public: \
19 typedef _type Type; \
20 typedef _type::Type DType; \
21 virtual ParameterTypes::Type getTypeNum() const; \
22 _enum##_Param(); \
23 }; \
24 extern _enum##_Param p_##_enum
25
26 namespace resip
27 {
28
29 class ParamBase
30 {
31 public:
32 virtual ~ParamBase() {}
33 virtual ParameterTypes::Type getTypeNum() const = 0;
34 };
35
36 defineParam(data, "data", ExistsParameter, "callee-caps");
37 defineParam(control, "control", ExistsParameter, "callee-caps");
38 defineParam(mobility, "mobility", QuotedDataParameter, "callee-caps"); // mobile|fixed
39 defineParam(description, "description", QuotedDataParameter, "callee-caps"); // <> quoted
40 defineParam(events, "events", QuotedDataParameter, "callee-caps"); // list
41 defineParam(priority, "priority", QuotedDataParameter, "callee-caps"); // non-urgent|normal|urgent|emergency
42 defineParam(methods, "methods", QuotedDataParameter, "callee-caps"); // list
43 defineParam(schemes, "schemes", QuotedDataParameter, "callee-caps"); // list
44 defineParam(application, "application", ExistsParameter, "callee-caps");
45 defineParam(video, "video", ExistsParameter, "callee-caps");
46 defineParam(language, "language", QuotedDataParameter, "callee-caps"); // list
47 defineParam(type, "type", QuotedDataParameter, "callee-caps"); // list
48 defineParam(isFocus, "isfocus", ExistsParameter, "callee-caps");
49 defineParam(actor, "actor", QuotedDataParameter, "callee-caps"); // principal|msg-taker|attendant|information
50 defineParam(text, "text", ExistsParameter, "callee-caps");
51 defineParam(extensions, "extensions", QuotedDataParameter, "callee-caps"); //list
52 defineParam(Instance, "+sip.instance", QuotedDataParameter, "gruu"); // <> quoted
53 defineParam(FlowId, "+sip.flowId", IntegerParameter, "outbound");
54 defineParam(gruu, "gruu", QuotedDataParameter, "gruu");
55
56 defineParam(accessType, "access-type", DataParameter, "RFC 2046");
57 defineParam(algorithm, "algorithm", DataParameter, "RFC ????");
58 defineParam(boundary, "boundary", DataParameter, "RFC 2046");
59 defineParam(branch, "branch", BranchParameter, "RFC ????");
60 defineParam(charset, "charset", DataParameter, "RFC 2045");
61 defineParam(cnonce, "cnonce", QuotedDataParameter, "RFC ????");
62 defineParam(comp, "comp", DataParameter, "RFC ????");
63 defineParam(dAlg, "d-alg", DataParameter, "RFC 3329");
64 defineParam(dQop, "d-qop", DataParameter, "RFC ????");
65 defineParam(dVer, "d-ver", QuotedDataParameter, "RFC ????");
66 defineParam(directory, "directory", DataParameter, "RFC 2046");
67 defineParam(domain, "domain", QuotedDataParameter, "RFC ????");
68 defineParam(duration, "duration", IntegerParameter, "RFC ????");
69 defineParam(expiration, "expiration", IntegerParameter, "RFC 2046");
70 defineParam(expires, "expires", IntegerParameter, "RFC ????");
71 defineParam(filename, "filename", DataParameter, "RFC ????");
72 defineParam(fromTag, "from-tag", DataParameter, "RFC ????");
73 defineParam(handling, "handling", DataParameter, "RFC ????");
74 defineParam(id, "id", DataParameter, "RFC ????");
75 defineParam(lr, "lr", ExistsParameter, "RFC ????");
76 defineParam(maddr, "maddr", DataParameter, "RFC ????");
77 defineParam(method, "method", DataParameter, "RFC ????");
78 defineParam(micalg, "micalg", DataParameter, "RFC 1847");
79 defineParam(mode, "mode", DataParameter, "RFC 2046");
80 defineParam(name, "name", DataParameter, "RFC 2046");
81 defineParam(nc, "nc", DataParameter, "RFC ????");
82 defineParam(nonce, "nonce", QuotedDataParameter, "RFC ????");
83 defineParam(opaque, "opaque", QuotedDataParameter, "RFC ????");
84 defineParam(permission, "permission", DataParameter, "RFC 2046");
85 defineParam(protocol, "protocol", QuotedDataParameter, "RFC 1847");
86 defineParam(purpose, "purpose", DataParameter, "RFC ????");
87 defineParam(q, "q", FloatParameter, "RFC 3261");
88 defineParam(realm, "realm", QuotedDataParameter, "RFC ????");
89 defineParam(reason, "reason", DataParameter, "RFC ????");
90 defineParam(received, "received", DataParameter, "RFC ????");
91 defineParam(response, "response", QuotedDataParameter, "RFC ????");
92 defineParam(retryAfter, "retry-after", IntegerParameter, "RFC ????");
93 defineParam(rport, "rport", RportParameter, "RFC ????");
94 defineParam(server, "server", DataParameter, "RFC 2046");
95 defineParam(site, "site", DataParameter, "RFC 2046");
96 defineParam(size, "size", DataParameter, "RFC 2046");
97 defineParam(smimeType, "smime-type", DataParameter, "RFC 2633");
98 defineParam(stale, "stale", DataParameter, "RFC ????");
99 defineParam(tag, "tag", DataParameter, "RFC ????");
100 defineParam(toTag, "to-tag", DataParameter, "RFC ????");
101 defineParam(transport, "transport", DataParameter, "RFC ????");
102 defineParam(ttl, "ttl", IntegerParameter, "RFC ????");
103 defineParam(uri, "uri", QuotedDataParameter, "RFC ????");
104 defineParam(user, "user", DataParameter, "RFC ????");
105 defineParam(username, "username", QuotedDataParameter, "RFC 3261");
106 defineParam(earlyOnly, "early-only", ExistsParameter, "RFC 3891");
107 defineParam(refresher, "refresher", DataParameter, "RFC 4028");
108
109 defineParam(profileType, "profile-type", DataParameter, "draft-ietf-sipping-config-framework");
110 defineParam(vendor, "vendor", DataParameter, "draft-ietf-sipping-config-framework");
111 defineParam(model, "model", DataParameter, "draft-ietf-sipping-config-framework");
112 defineParam(version, "version", DataParameter, "draft-ietf-sipping-config-framework");
113 defineParam(effectiveBy, "effective-by", IntegerParameter, "draft-ietf-sipping-config-framework");
114 defineParam(document, "document", DataParameter, "draft-ietf-sipping-config-framework");
115 defineParam(appId, "app-id", DataParameter, "draft-ietf-sipping-config-framework");
116 defineParam(networkUser, "network-user", DataParameter, "draft-ietf-sipping-config-framework");
117
118 defineParam(url, "url", QuotedDataParameter, "draft-ietf-sip-content-indirect-mech-05");
119
120 // SPECIAL-CASE
121 class Qop_Options_Param : public ParamBase
122 {
123 public:
124 typedef QuotedDataParameter Type;
125 typedef QuotedDataParameter::Type DType;
126 virtual ParameterTypes::Type getTypeNum() const;
127 Qop_Options_Param();
128 };
129 extern Qop_Options_Param p_qopOptions;
130
131 class qop_Param : public ParamBase
132 {
133 public:
134 typedef DataParameter Type;
135 typedef DataParameter::Type DType;
136 virtual ParameterTypes::Type getTypeNum() const;
137 qop_Param();
138 };
139 extern qop_Param p_qop;
140
141 class Qop_Factory_Param
142 {
143 public:
144 typedef QopParameter Type;
145 Qop_Factory_Param();
146 };
147 extern Qop_Factory_Param p_qopFactory;
148 }
149
150 #undef defineParam
151 #endif
152
153 /* ====================================================================
154 * The Vovida Software License, Version 1.0
155 *
156 * Copyright (c) 2000 Vovida Networks, Inc. All rights reserved.
157 *
158 * Redistribution and use in source and binary forms, with or without
159 * modification, are permitted provided that the following conditions
160 * are met:
161 *
162 * 1. Redistributions of source code must retain the above copyright
163 * notice, this list of conditions and the following disclaimer.
164 *
165 * 2. Redistributions in binary form must reproduce the above copyright
166 * notice, this list of conditions and the following disclaimer in
167 * the documentation and/or other materials provided with the
168 * distribution.
169 *
170 * 3. The names "VOCAL", "Vovida Open Communication Application Library",
171 * and "Vovida Open Communication Application Library (VOCAL)" must
172 * not be used to endorse or promote products derived from this
173 * software without prior written permission. For written
174 * permission, please contact vocal@vovida.org.
175 *
176 * 4. Products derived from this software may not be called "VOCAL", nor
177 * may "VOCAL" appear in their name, without prior written
178 * permission of Vovida Networks, Inc.
179 *
180 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
181 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
182 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
183 * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL VOVIDA
184 * NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT DAMAGES
185 * IN EXCESS OF $1,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
186 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
187 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
188 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
189 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
190 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
191 * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
192 * DAMAGE.
193 *
194 * ====================================================================
195 *
196 * This software consists of voluntary contributions made by Vovida
197 * Networks, Inc. and many individuals on behalf of Vovida Networks,
198 * Inc. For more information on Vovida Networks, Inc., please see
199 * <http://www.vovida.org/>.
200 *
201 */

Properties

Name Value
svn:eol-style LF

webmaster AT resiprocate DOT org
ViewVC Help
Powered by ViewVC 1.1.27