Apama  10.15.0.2
EventCodec.h
Go to the documentation of this file.
1 /*
2  * EventCodec.h
3  *
4  * External (client-visible) interface to event encoding/decoding (codec)
5  * plugin libraries within the Apama Integration Adapter Framework (IAF).
6  * This is the interface that must be implemented by all codec libraries in
7  * order to be successfully loaded and integrated by the IAF.
8  *
9  * $Copyright(c) 2002-2007, 2008 Progress Software Corporation (PSC). All rights reserved.$
10  * $Copyright (c) 2013, 2016-2018, 2022 Software AG, Darmstadt, Germany and/or Software AG USA Inc., Reston, VA, USA, and/or its subsidiaries and/or its affiliates and/or their licensors.$
11  * Use, reproduction, transfer, publication or disclosure is prohibited except as specifically provided for in your License Agreement with Software AG
12  *
13  */
14 
15 #ifndef AP_EVENT_CODEC_H
16 #define AP_EVENT_CODEC_H
17 
18 
19 #include <AP_Types.h>
20 #include <IAF_Platform.h>
21 #include <NormalisedEvent.h>
22 #include <EventTransport.h>
23 #include <SemanticMapper.h>
24 #include <AP_TimestampSet.h>
25 #include <IAF_TimestampConfig.h>
26 
50 #define AP_EVENTCODEC_VERSION 0x00040000
51 
52 
57 #define AP_EVENTCODEC_CAP_ENCODER 0x0001
58 #define AP_EVENTCODEC_CAP_DECODER 0x0002
59 
60 
66 #define AP_EVENTCODEC_INFO_FUNCTION_NAME AP_EventCodec_info
67 #define AP_EVENTCODEC_CTOR_FUNCTION_NAME AP_EventCodec_ctor
68 #define AP_EVENTCODEC_DTOR_FUNCTION_NAME AP_EventCodec_dtor
69 
70 
71 #ifdef __cplusplus
72 extern "C" {
73 #endif /* __cplusplus */
74 
75 
76 /*
77  * Forward-declare some structures
78  */
79 struct AP_EventCodec;
80 struct AP_EventEncoder;
81 struct AP_EventDecoder;
82 struct AP_EventTransport;
83 
84 
92 typedef enum {
108 
109 
116 typedef struct {
118  AP_char8* name;
120  AP_char8* value;
122 
123 
124 
131 typedef struct {
133  AP_char8* name;
137 
138 
151 typedef struct {
156  AP_char8* status;
160  AP_uint64 totalDecoded;
164  AP_uint64 totalEncoded;
179 
180 
194 
216 
226  const AP_char8* (*getLastError)(struct AP_EventCodec* codec);
227 
239  void (*getStatus)(struct AP_EventCodec* codec, AP_EventCodecStatus* status);
240 };
241 
242 
255 
272 
286 
297  const AP_char8* (*getLastError)(struct AP_EventEncoder* encoder);
298 
311  void (*addEventTransport)(struct AP_EventEncoder* encoder, const AP_char8* name, struct AP_EventTransport* transport);
312 
324  void (*removeEventTransport)(struct AP_EventEncoder* encoder, const AP_char8* name);
325 };
326 
327 
340 
359  AP_EventCodecError (*sendTransportEvent)(struct AP_EventDecoder* decoder, AP_TransportEvent event, AP_TimestampSet* timeStamp);
360 
370  void (*setSemanticMapper)(struct AP_EventDecoder* decoder, AP_SemanticMapper* mapper);
371 
385 
396  const AP_char8* (*getLastError)(struct AP_EventDecoder* decoder);
397 };
398 
399 
413 
417  void* reserved;
418 
424 };
425 typedef struct AP_EventEncoder AP_EventEncoder;
426 
427 
441 
445  void* reserved;
446 
452 };
453 typedef struct AP_EventDecoder AP_EventDecoder;
454 
455 
470 
474  void* reserved;
475 
481 
486 
491 };
492 typedef struct AP_EventCodec AP_EventCodec;
493 
494 
515 typedef AP_EVENTCODEC_API void (AP_EVENTCODEC_CALL* AP_EventCodecInfoPtr)(AP_uint32* version, AP_uint32* capabilities);
516 
517 
544 typedef AP_EVENTCODEC_API AP_EventCodec* (AP_EVENTCODEC_CALL* AP_EventCodecCtorPtr)(AP_char8* name, AP_EventCodecProperties* properties, AP_EventCodecError* err, AP_char8** errMsg, IAF_TimestampConfig* timestampConfig);
545 
546 
560 typedef AP_EVENTCODEC_API void (AP_EVENTCODEC_CALL* AP_EventCodecDtorPtr)(AP_EventCodec* codec);
561 
562 
563 #ifdef __cplusplus
564 } /* extern "C" */
565 #endif /* __cplusplus */
566 
567 
568 #endif /* AP_EVENT_CODEC_H */
AP_EventCodecError(* flushDownstream)(struct AP_EventDecoder *decoder)
flushDownstream
Definition: EventCodec.h:384
AP_EventCodecError
AP_EventCodecError.
Definition: EventCodec.h:92
AP_EVENTCODEC_API void(AP_EVENTCODEC_CALL * AP_EventCodecInfoPtr)(AP_uint32 *version, AP_uint32 *capabilities)
AP_EventCodecInfoPtr.
Definition: EventCodec.h:515
void(* setSemanticMapper)(struct AP_EventDecoder *decoder, AP_SemanticMapper *mapper)
setSemanticMapper
Definition: EventCodec.h:370
Semantic Mapper.
void * reserved
Pointer to private internal data.
Definition: EventCodec.h:417
Normalised Event.
AP_EventCodec_Functions.
Definition: EventCodec.h:193
AP_EventCodecError(* updateProperties)(struct AP_EventCodec *codec, AP_EventCodecProperties *properties, IAF_TimestampConfig *timestampConfig)
updateProperties
Definition: EventCodec.h:215
AP_EventEncoder * encoder
Pointer to embedded encoder.
Definition: EventCodec.h:485
Everything is fine.
Definition: EventCodec.h:94
AP_uint64 totalDecoded
Total number of downstream events decoded since IAF was run.
Definition: EventCodec.h:160
AP_char8 * name
properties name
Definition: EventCodec.h:133
Trouble sending encoded event to transport.
Definition: EventCodec.h:102
AP_EventDecoder * decoder
Pointer to embedded decoder.
Definition: EventCodec.h:490
AP_EventCodec.
Definition: EventCodec.h:469
void(* addEventTransport)(struct AP_EventEncoder *encoder, const AP_char8 *name, struct AP_EventTransport *transport)
addEventTransport
Definition: EventCodec.h:311
AP_EventEncoder.
Definition: EventCodec.h:412
struct AP_EventDecoder_Functions * functions
Function table of decoder operations.
Definition: EventCodec.h:451
AP_EventCodecProperty.
Definition: EventCodec.h:116
AP_EventEncoder_Functions.
Definition: EventCodec.h:254
AP_EVENTCODEC_API AP_EventCodec *(AP_EVENTCODEC_CALL * AP_EventCodecCtorPtr)(AP_char8 *name, AP_EventCodecProperties *properties, AP_EventCodecError *err, AP_char8 **errMsg, IAF_TimestampConfig *timestampConfig)
AP_EventCodecCtorPtr.
Definition: EventCodec.h:544
void(* getStatus)(struct AP_EventCodec *codec, AP_EventCodecStatus *status)
getStatus
Definition: EventCodec.h:239
AP_EventCodecProperties.
Definition: EventCodec.h:131
External (client-visible) interface to Transport Integration Layer (TIL) plugin libraries within the ...
AP_EventDecoder.
Definition: EventCodec.h:440
struct AP_EventEncoder_Functions * functions
Function table of encoder operations.
Definition: EventCodec.h:423
AP_NormalisedEvent * statusDictionary
Additional status information about this codec.
Definition: EventCodec.h:177
AP_char8 * value
property value
Definition: EventCodec.h:120
AP_uint64 totalEncoded
Total number of encoded events since the IAF was run.
Definition: EventCodec.h:164
IAF_TimestampConfig.
Definition: IAF_TimestampConfig.h:29
AP_NormalisedEvent.
Definition: NormalisedEvent.h:454
void * reserved
Pointer to private internal data.
Definition: EventCodec.h:445
Couldn't decode an incoming customer event.
Definition: EventCodec.h:100
void * reserved
Pointer to private internal data.
Definition: EventCodec.h:474
Hires Timestamps.
AP_EventDecoder_Functions.
Definition: EventCodec.h:339
void(* removeEventTransport)(struct AP_EventEncoder *encoder, const AP_char8 *name)
removeEventTransport
Definition: EventCodec.h:324
AP_EventCodecError(* sendNormalisedEvent)(struct AP_EventEncoder *encoder, AP_NormalisedEvent *event, AP_TimestampSet *timeStamp)
sendNormalisedEvent
Definition: EventCodec.h:271
Couldn't encode an incoming normalised event.
Definition: EventCodec.h:98
Hires Timestamps configuration support.
AP_EventCodecStatus.
Definition: EventCodec.h:151
AP_char8 * name
property name
Definition: EventCodec.h:118
Trouble sending decoded event to Semantic Mapper.
Definition: EventCodec.h:104
AP_SemanticMapper.
Definition: SemanticMapper.h:174
AP_EventTransport.
Definition: EventTransport.h:396
AP_EVENTCODEC_API void(AP_EVENTCODEC_CALL * AP_EventCodecDtorPtr)(AP_EventCodec *codec)
AP_EventCodecDtorPtr.
Definition: EventCodec.h:560
AP_TimestampSet.
Definition: AP_TimestampSet.h:306
AP_EventCodecProperty ** properties
array of codec property values
Definition: EventCodec.h:135
struct AP_EventCodec_Functions * functions
Function table of codec operations.
Definition: EventCodec.h:480
AP_EventCodecError(* flushUpstream)(struct AP_EventEncoder *encoder)
flushUpstream
Definition: EventCodec.h:285
AP_EventCodecError(* sendTransportEvent)(struct AP_EventDecoder *decoder, AP_TransportEvent event, AP_TimestampSet *timeStamp)
sendTransportEvent
Definition: EventCodec.h:359
Codec was passed an invalid property set.
Definition: EventCodec.h:106
AP_char8 * status
Free form text string containing a codec specific status message.
Definition: EventCodec.h:156
Some unspecified internal error occurred.
Definition: EventCodec.h:96