~ubuntu-branches/debian/squeeze/erlang/squeeze

« back to all changes in this revision

Viewing changes to lib/megaco/src/text/megaco_compact_text_encoder_prev3a.erl

  • Committer: Bazaar Package Importer
  • Author(s): Erlang Packagers, Sergei Golovan
  • Date: 2006-12-03 17:07:44 UTC
  • mfrom: (2.1.11 feisty)
  • Revision ID: james.westby@ubuntu.com-20061203170744-rghjwupacqlzs6kv
Tags: 1:11.b.2-4
[ Sergei Golovan ]
Fixed erlang-base and erlang-base-hipe prerm scripts.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
%% ``The contents of this file are subject to the Erlang Public License,
 
2
%% Version 1.1, (the "License"); you may not use this file except in
 
3
%% compliance with the License. You should have received a copy of the
 
4
%% Erlang Public License along with this software. If not, it can be
 
5
%% retrieved via the world wide web at http://www.erlang.org/.
 
6
%% 
 
7
%% Software distributed under the License is distributed on an "AS IS"
 
8
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
 
9
%% the License for the specific language governing rights and limitations
 
10
%% under the License.
 
11
%% 
 
12
%% The Initial Developer of the Original Code is Ericsson Utvecklings AB.
 
13
%% Portions created by Ericsson are Copyright 1999, Ericsson Utvecklings
 
14
%% AB. All Rights Reserved.''
 
15
%% 
 
16
%%     $Id$
 
17
%%
 
18
%%----------------------------------------------------------------------
 
19
%% Purpose: Encode COMPACT Megaco/H.248 text messages from internal form
 
20
%%----------------------------------------------------------------------
 
21
 
 
22
-module(megaco_compact_text_encoder_prev3a).
 
23
 
 
24
-export([encode_message/2, 
 
25
         encode_transaction/2,
 
26
         encode_action_requests/2,
 
27
         encode_action_request/2,
 
28
         encode_command_request/2,
 
29
         encode_action_reply/2]).
 
30
 
 
31
 
 
32
-include_lib("megaco/include/megaco.hrl").
 
33
-include_lib("megaco/include/megaco_message_prev3a.hrl").
 
34
-define(encoder_version_pre_prev3c,true).
 
35
-include("megaco_text_tokens.hrl").
 
36
 
 
37
 
 
38
%%----------------------------------------------------------------------
 
39
%% Convert a 'MegacoMessage' record into a binary
 
40
%% Return {ok, DeepIoList} | {error, Reason}
 
41
%%----------------------------------------------------------------------
 
42
 
 
43
encode_message([], MegaMsg) when record(MegaMsg, 'MegacoMessage') ->
 
44
    case (catch enc_MegacoMessage(MegaMsg)) of
 
45
        {'EXIT', Reason} ->
 
46
            {error, Reason};
 
47
        Bin when binary(Bin) ->
 
48
            {ok, Bin};
 
49
        DeepIoList ->
 
50
            Bin = erlang:list_to_binary(DeepIoList),
 
51
            {ok, Bin}
 
52
    end;
 
53
encode_message([{flex,_}], MegaMsg) when record(MegaMsg, 'MegacoMessage') ->
 
54
    case (catch enc_MegacoMessage(MegaMsg)) of
 
55
        {'EXIT', Reason} ->
 
56
            {error, Reason};
 
57
        Bin when binary(Bin) ->
 
58
            {ok, Bin};
 
59
        DeepIoList ->
 
60
            Bin = erlang:list_to_binary(DeepIoList),
 
61
            {ok, Bin}
 
62
    end;
 
63
encode_message([_|T], MegaMsg) ->
 
64
    encode_message(T, MegaMsg);
 
65
encode_message(EncodingConfig, MegaMsg) 
 
66
  when record(MegaMsg, 'MegacoMessage')  ->
 
67
    {error, {bad_encoding_config, EncodingConfig}};
 
68
encode_message(_EncodingConfig, _MegaMsg) ->
 
69
    {error, bad_megaco_message}.
 
70
 
 
71
 
 
72
 
 
73
 
 
74
%%----------------------------------------------------------------------
 
75
%% Convert a transaction record into a deep io list
 
76
%% Return {ok, DeepIoList} | {error, Reason}
 
77
%%----------------------------------------------------------------------
 
78
encode_transaction(_EC, Trans) ->
 
79
    case (catch enc_Transaction(Trans)) of
 
80
        {'EXIT', Reason} ->
 
81
            {error, Reason};
 
82
        Bin when binary(Bin) ->
 
83
            {ok, Bin};
 
84
        DeepIoList ->
 
85
            Bin = erlang:list_to_binary(DeepIoList),
 
86
            {ok, Bin}
 
87
    end.
 
88
 
 
89
 
 
90
%%----------------------------------------------------------------------
 
91
%% Convert a list of ActionRequest record's into a binary
 
92
%% Return {ok, DeepIoList} | {error, Reason}
 
93
%%----------------------------------------------------------------------
 
94
encode_action_requests(_EC, ActReqs) ->
 
95
    case (catch enc_ActionRequests(ActReqs)) of
 
96
        {'EXIT', Reason} ->
 
97
            {error, Reason};
 
98
        Bin when binary(Bin) ->
 
99
            {ok, Bin};
 
100
        DeepIoList ->
 
101
            Bin = erlang:list_to_binary(DeepIoList),
 
102
            {ok, Bin}
 
103
    end.
 
104
 
 
105
%%----------------------------------------------------------------------
 
106
%% Convert a ActionRequest record into a binary
 
107
%% Return {ok, DeepIoList} | {error, Reason}
 
108
%%----------------------------------------------------------------------
 
109
encode_action_request(_EC, ActReq) 
 
110
  when record(ActReq, 'ActionRequest') ->
 
111
    case (catch enc_ActionRequest(ActReq)) of
 
112
        {'EXIT', Reason} ->
 
113
            {error, Reason};
 
114
        Bin when binary(Bin) ->
 
115
            {ok, Bin};
 
116
        DeepIoList ->
 
117
            Bin = erlang:list_to_binary(DeepIoList),
 
118
            {ok, Bin}
 
119
    end.
 
120
 
 
121
%%----------------------------------------------------------------------
 
122
%% Convert a CommandRequest record into a deep io list
 
123
%% Return {ok, DeepIoList} | {error, Reason}
 
124
%%----------------------------------------------------------------------
 
125
encode_command_request(_EC, CmdReq) 
 
126
  when record(CmdReq, 'CommandRequest') ->
 
127
    case (catch enc_CommandRequest(CmdReq)) of
 
128
        {'EXIT', Reason} ->
 
129
            {error, Reason};
 
130
        Bin when binary(Bin) ->
 
131
            {ok, Bin};
 
132
        DeepIoList ->
 
133
            Bin = erlang:list_to_binary(DeepIoList),
 
134
            {ok, Bin}
 
135
    end.
 
136
 
 
137
%%----------------------------------------------------------------------
 
138
%% Convert a action reply into a deep io list
 
139
%% Return {ok, DeepIoList} | {error, Reason}
 
140
%%----------------------------------------------------------------------
 
141
encode_action_reply(_EC, ActRep) 
 
142
  when record(ActRep, 'ActionReply') ->
 
143
    case (catch enc_ActionReply(ActRep)) of
 
144
        {'EXIT', Reason} ->
 
145
            {error, Reason};
 
146
        DeepIoList ->
 
147
            {ok, DeepIoList}
 
148
    end.
 
149
 
 
150
 
 
151
%%----------------------------------------------------------------------
 
152
%% Define various macros used by the actual generator code
 
153
%%----------------------------------------------------------------------
 
154
 
 
155
-define(EQUAL,  [?EqualToken]).
 
156
-define(COLON,  [?ColonToken]).
 
157
-define(LBRKT,  [?LbrktToken]).
 
158
-define(RBRKT,  [?RbrktToken]).
 
159
-define(LSBRKT, [?LsbrktToken]).
 
160
-define(RSBRKT, [?RsbrktToken]).
 
161
-define(COMMA,  [?CommaToken]).
 
162
-define(DOT,    [?DotToken]).
 
163
-define(SLASH,  [?SlashToken]).
 
164
-define(DQUOTE, [?DoubleQuoteToken]).
 
165
-define(SP,     [?SpToken]).
 
166
-define(HTAB,   [?HtabToken]).
 
167
-define(CR,     [?CrToken]).
 
168
-define(LF,     [?LfToken]).
 
169
-define(LWSP,   []).
 
170
-define(EOL,    ?LF).
 
171
-define(WSP,    ?SP).
 
172
-define(SEP,    ?WSP).
 
173
 
 
174
-define(INIT_INDENT,           []).
 
175
-define(INC_INDENT(State),     State).
 
176
-define(INDENT(State),         State).
 
177
-define(LBRKT_INDENT(_State),  [?LbrktToken]).
 
178
-define(RBRKT_INDENT(_State),  [?RbrktToken]).
 
179
-define(LSBRKT_INDENT(_State), [?LsbrktToken]).
 
180
-define(RSBRKT_INDENT(_State), [?RsbrktToken]).
 
181
-define(COMMA_INDENT(_State),  [?CommaToken]).
 
182
-define(SEP_INDENT(_State),    [?LfToken]).
 
183
 
 
184
%%----------------------------------------------------------------------
 
185
%% Define token macros
 
186
%%----------------------------------------------------------------------
 
187
 
 
188
-define(AddToken                   , ?CompactAddToken).
 
189
-define(AuditToken                 , ?CompactAuditToken).
 
190
-define(AuditCapToken              , ?CompactAuditCapToken).
 
191
-define(AuditValueToken            , ?CompactAuditValueToken).
 
192
-define(AuthToken                  , ?CompactAuthToken).
 
193
-define(BothToken                  , ?CompactBothToken).
 
194
-define(BothwayToken               , ?CompactBothwayToken).
 
195
-define(BriefToken                 , ?CompactBriefToken).
 
196
-define(BufferToken                , ?CompactBufferToken).
 
197
-define(CtxToken                   , ?CompactCtxToken).
 
198
-define(ContextAuditToken          , ?CompactContextAuditToken).
 
199
-define(ContextAttrToken           , ?CompactContextAttrToken).
 
200
-define(DigitMapToken              , ?CompactDigitMapToken).
 
201
-define(DirectionToken             , ?CompactDirectionToken).
 
202
-define(DiscardToken               , ?CompactDiscardToken).
 
203
-define(DisconnectedToken          , ?CompactDisconnectedToken).
 
204
-define(DelayToken                 , ?CompactDelayToken).
 
205
-define(DeleteToken                , ?CompactDeleteToken).
 
206
-define(DurationToken              , ?CompactDurationToken).
 
207
-define(EmbedToken                 , ?CompactEmbedToken).
 
208
-define(EmergencyToken             , ?CompactEmergencyToken).
 
209
-define(EmergencyOffToken          , ?CompactEmergencyOffToken).
 
210
-define(ErrorToken                 , ?CompactErrorToken).
 
211
-define(EventBufferToken           , ?CompactEventBufferToken).
 
212
-define(EventsToken                , ?CompactEventsToken).
 
213
-define(ExternalToken              , ?CompactExternalToken).
 
214
-define(FailoverToken              , ?CompactFailoverToken).
 
215
-define(ForcedToken                , ?CompactForcedToken).
 
216
-define(GracefulToken              , ?CompactGracefulToken).
 
217
-define(H221Token                  , ?CompactH221Token).
 
218
-define(H223Token                  , ?CompactH223Token).
 
219
-define(H226Token                  , ?CompactH226Token).
 
220
-define(HandOffToken               , ?CompactHandOffToken).
 
221
-define(IEPSToken                  , ?CompactIEPSToken).
 
222
-define(ImmAckRequiredToken        , ?CompactImmAckRequiredToken).
 
223
-define(InactiveToken              , ?CompactInactiveToken).
 
224
-define(InternalToken              , ?CompactInternalToken).
 
225
-define(InterruptByEventToken      , ?CompactInterruptByEventToken).
 
226
-define(InterruptByNewSignalsDescrToken, ?CompactInterruptByNewSignalsDescrToken).
 
227
-define(IsolateToken               , ?CompactIsolateToken).
 
228
-define(InSvcToken                 , ?CompactInSvcToken).
 
229
-define(KeepActiveToken            , ?CompactKeepActiveToken).
 
230
-define(LocalToken                 , ?CompactLocalToken).
 
231
-define(LocalControlToken          , ?CompactLocalControlToken).
 
232
-define(LockStepToken              , ?CompactLockStepToken).
 
233
-define(LoopbackToken              , ?CompactLoopbackToken).
 
234
-define(MediaToken                 , ?CompactMediaToken).
 
235
-define(MegacopToken               , ?CompactMegacopToken).
 
236
-define(MethodToken                , ?CompactMethodToken).
 
237
-define(MgcIdToken                 , ?CompactMgcIdToken).
 
238
-define(ModeToken                  , ?CompactModeToken).
 
239
-define(ModifyToken                , ?CompactModifyToken).
 
240
-define(ModemToken                 , ?CompactModemToken).
 
241
-define(MoveToken                  , ?CompactMoveToken).
 
242
-define(MtpToken                   , ?CompactMtpToken).
 
243
-define(MuxToken                   , ?CompactMuxToken).
 
244
-define(NotifyToken                , ?CompactNotifyToken).
 
245
-define(NotifyCompletionToken      , ?CompactNotifyCompletionToken).
 
246
-define(Nx64kToken                 , ?CompactNx64kToken).
 
247
-define(ObservedEventsToken        , ?CompactObservedEventsToken).
 
248
-define(OffToken                   , ?CompactOffToken).
 
249
-define(OnewayToken                , ?CompactOnewayToken).
 
250
-define(OnOffToken                 , ?CompactOnOffToken).
 
251
-define(OnToken                    , ?CompactOnToken).
 
252
-define(OtherReasonToken           , ?CompactOtherReasonToken).
 
253
-define(OutOfSvcToken              , ?CompactOutOfSvcToken).
 
254
-define(PackagesToken              , ?CompactPackagesToken).
 
255
-define(PendingToken               , ?CompactPendingToken).
 
256
-define(PriorityToken              , ?CompactPriorityToken).
 
257
-define(ProfileToken               , ?CompactProfileToken).
 
258
-define(ReasonToken                , ?CompactReasonToken).
 
259
-define(RecvonlyToken              , ?CompactRecvonlyToken).
 
260
-define(ReplyToken                 , ?CompactReplyToken).
 
261
-define(ResponseAckToken           , ?CompactResponseAckToken).
 
262
-define(RestartToken               , ?CompactRestartToken).
 
263
-define(RemoteToken                , ?CompactRemoteToken).
 
264
-define(RequestIDToken             , ?CompactRequestIDToken).
 
265
-define(ReservedGroupToken         , ?CompactReservedGroupToken).
 
266
-define(ReservedValueToken         , ?CompactReservedValueToken).
 
267
-define(SendonlyToken              , ?CompactSendonlyToken).
 
268
-define(SendrecvToken              , ?CompactSendrecvToken).
 
269
-define(ServicesToken              , ?CompactServicesToken).
 
270
-define(ServiceStatesToken         , ?CompactServiceStatesToken).
 
271
-define(ServiceChangeToken         , ?CompactServiceChangeToken).
 
272
-define(ServiceChangeAddressToken  , ?CompactServiceChangeAddressToken).
 
273
-define(ServiceChangeIncompleteToken , ?CompactServiceChangeIncompleteToken).
 
274
-define(SignalListToken            , ?CompactSignalListToken).
 
275
-define(SignalsToken               , ?CompactSignalsToken).
 
276
-define(SignalTypeToken            , ?CompactSignalTypeToken).
 
277
-define(StatsToken                 , ?CompactStatsToken).
 
278
-define(StreamToken                , ?CompactStreamToken).
 
279
-define(SubtractToken              , ?CompactSubtractToken).
 
280
-define(SynchISDNToken             , ?CompactSynchISDNToken).
 
281
-define(TerminationStateToken      , ?CompactTerminationStateToken).
 
282
-define(TestToken                  , ?CompactTestToken).
 
283
-define(TimeOutToken               , ?CompactTimeOutToken).
 
284
-define(TopologyToken              , ?CompactTopologyToken).
 
285
-define(TransToken                 , ?CompactTransToken).
 
286
-define(V18Token                   , ?CompactV18Token).
 
287
-define(V22Token                   , ?CompactV22Token).
 
288
-define(V22bisToken                , ?CompactV22bisToken).
 
289
-define(V32Token                   , ?CompactV32Token).
 
290
-define(V32bisToken                , ?CompactV32bisToken).
 
291
-define(V34Token                   , ?CompactV34Token).
 
292
-define(V76Token                   , ?CompactV76Token).
 
293
-define(V90Token                   , ?CompactV90Token).
 
294
-define(V91Token                   , ?CompactV91Token).
 
295
-define(VersionToken               , ?CompactVersionToken).
 
296
 
 
297
%%----------------------------------------------------------------------
 
298
%% Include the generator code
 
299
%%----------------------------------------------------------------------
 
300
 
 
301
-include("megaco_text_gen_prev3a.hrl").
 
302