22 #ifndef MAMA_MSG_CPP_H__ 23 #define MAMA_MSG_CPP_H__ 27 #include "mama/types.h" 31 class MamaFieldDescriptor;
34 class MamaMsgFieldIterator;
136 void createForPayload (
const char id);
143 void createForPayloadBridge (mamaPayloadBridge payloadBridge);
151 void createForWombatMsg (
void);
172 void createFromBuffer (
174 size_t bufferLength);
187 void createForBridgeFromBuffer (
196 void copy (
const MamaMsg& rhs);
209 void applyMsg (
const MamaMsg& msg);
222 size_t getNumFields (
void)
const;
232 size_t getByteSize (
void)
const;
242 mama_fid_t fid)
const;
260 mama_fid_t fid)
const;
278 mama_fid_t fid)
const;
296 mama_fid_t fid)
const;
314 mama_fid_t fid)
const;
332 mama_fid_t fid)
const;
350 mama_fid_t fid)
const;
368 mama_fid_t fid)
const;
387 mama_fid_t fid)
const;
405 mama_fid_t fid)
const;
424 mama_fid_t fid)
const;
443 mama_fid_t fid)
const;
461 const char* getString (
463 mama_fid_t fid)
const;
472 const char* getString (
482 const void* getOpaque (
493 const void* getOpaque (
545 mama_fid_t fid)
const;
563 const char* getVectorChar (
566 size_t& resultLen)
const;
575 const char* getVectorChar (
577 size_t& resultLen)
const;
586 const mama_i8_t* getVectorI8 (
589 size_t& resultLen)
const;
598 const mama_i8_t* getVectorI8 (
600 size_t& resultLen)
const;
609 const mama_u8_t* getVectorU8 (
612 size_t& resultLen)
const;
621 const mama_u8_t* getVectorU8 (
623 size_t& resultLen)
const;
632 const mama_i16_t* getVectorI16 (
635 size_t& resultLen)
const;
644 const mama_i16_t* getVectorI16 (
646 size_t& resultLen)
const;
655 const mama_u16_t* getVectorU16 (
658 size_t& resultLen)
const;
667 const mama_u16_t* getVectorU16 (
669 size_t& resultLen)
const;
678 const mama_i32_t* getVectorI32 (
681 size_t& resultLen)
const;
690 const mama_i32_t* getVectorI32 (
692 size_t& resultLen)
const;
701 const mama_u32_t* getVectorU32 (
704 size_t& resultLen)
const;
713 const mama_u32_t* getVectorU32 (
715 size_t& resultLen)
const;
724 const mama_i64_t* getVectorI64 (
727 size_t& resultLen)
const;
736 const mama_i64_t* getVectorI64 (
738 size_t& resultLen)
const;
747 const mama_u64_t* getVectorU64 (
750 size_t& resultLen)
const;
759 const mama_u64_t* getVectorU64 (
761 size_t& resultLen)
const;
770 const mama_f32_t* getVectorF32 (
773 size_t& resultLen)
const;
782 const mama_f32_t* getVectorF32 (
784 size_t& resultLen)
const;
793 const mama_f64_t* getVectorF64 (
796 size_t& resultLen)
const;
805 const mama_f64_t* getVectorF64 (
807 size_t& resultLen)
const;
819 size_t& resultLen)
const;
829 size_t& resultLen)
const;
840 const char** getVectorString (
843 size_t& resultLen)
const;
853 const char** getVectorString (
855 size_t& resultLen)
const;
912 mama_i8_t& result)
const;
922 mama_i8_t& result)
const;
934 mama_u8_t& result)
const;
944 mama_u8_t& result)
const;
956 mama_i16_t& result)
const;
966 mama_i16_t& result)
const;
978 mama_u16_t& result)
const;
988 mama_u16_t& result)
const;
1000 mama_i32_t& result)
const;
1010 mama_i32_t& result)
const;
1022 mama_u32_t& result)
const;
1032 mama_u32_t& result)
const;
1044 mama_i64_t& result)
const;
1054 mama_i64_t& result)
const;
1066 mama_u64_t& result)
const;
1076 mama_u64_t& result)
const;
1089 mama_f32_t& result)
const;
1100 mama_f32_t& result)
const;
1113 mama_f64_t& result)
const;
1124 mama_f64_t& result)
const;
1136 const char*& result)
const;
1146 const char*& result)
const;
1202 const MamaMsg*& result)
const;
1212 const MamaMsg*& result)
const;
1225 const void*& result,
1226 size_t& size)
const;
1237 const void*& result,
1238 size_t& size)
const;
1249 bool tryVectorChar (
1252 const char*& result,
1253 size_t& resultLen)
const;
1263 bool tryVectorChar (
1265 const char*& result,
1266 size_t& resultLen)
const;
1279 const mama_i8_t*& result,
1280 size_t& resultLen)
const;
1292 const mama_i8_t*& result,
1293 size_t& resultLen)
const;
1306 const mama_u8_t*& result,
1307 size_t& resultLen)
const;
1319 const mama_u8_t*& result,
1320 size_t& resultLen)
const;
1333 const mama_i16_t*& result,
1334 size_t& resultLen)
const;
1346 const mama_i16_t*& result,
1347 size_t& resultLen)
const;
1360 const mama_u16_t*& result,
1361 size_t& resultLen)
const;
1373 const mama_u16_t*& result,
1374 size_t& resultLen)
const;
1387 const mama_i32_t*& result,
1388 size_t& resultLen)
const;
1400 const mama_i32_t*& result,
1401 size_t& resultLen)
const;
1414 const mama_u32_t*& result,
1415 size_t& resultLen)
const;
1427 const mama_u32_t*& result,
1428 size_t& resultLen)
const;
1441 const mama_i64_t*& result,
1442 size_t& resultLen)
const;
1454 const mama_i64_t*& result,
1455 size_t& resultLen)
const;
1468 const mama_u64_t*& result,
1469 size_t& resultLen)
const;
1481 const mama_u64_t*& result,
1482 size_t& resultLen)
const;
1495 const mama_f32_t*& result,
1496 size_t& resultLen)
const;
1508 const mama_f32_t*& result,
1509 size_t& resultLen)
const;
1522 const mama_f64_t*& result,
1523 size_t& resultLen)
const;
1535 const mama_f64_t*& result,
1536 size_t& resultLen)
const;
1547 bool tryVectorString (
1550 const char**& result,
1551 size_t& resultLen)
const;
1560 bool tryVectorString (
1562 const char**& result,
1563 size_t& resultLen)
const;
1576 size_t& resultLen)
const;
1588 size_t& resultLen)
const;
1974 void addVectorChar (
1977 const char vectorValues[],
1987 void addVectorChar (
1989 const char vectorValues[],
2002 const mama_i8_t vectorValues[],
2013 const mama_i8_t vectorValues[],
2026 const mama_u8_t vectorValues[],
2037 const mama_u8_t vectorValues[],
2050 const mama_i16_t vectorValues[],
2061 const mama_i16_t vectorValues[],
2074 const mama_u16_t vectorValues[],
2085 const mama_u16_t vectorValues[],
2098 const mama_i32_t vectorValues[],
2109 const mama_i32_t vectorValues[],
2122 const mama_u32_t vectorValues[],
2133 const mama_u32_t vectorValues[],
2146 const mama_i64_t vectorValues[],
2157 const mama_i64_t vectorValues[],
2170 const mama_u64_t vectorValues[],
2181 const mama_u64_t vectorValues[],
2194 const mama_f32_t vectorValues[],
2205 const mama_f32_t vectorValues[],
2218 const mama_f64_t vectorValues[],
2229 const mama_f64_t vectorValues[],
2239 void addVectorString (
2242 const char* vectorValues[],
2251 void addVectorString (
2253 const char* vectorValues[],
2289 void updateBoolean (
2301 void updateBoolean (
2340 const mama_i8_t value);
2351 const mama_i8_t value);
2364 const mama_u8_t value);
2375 const mama_u8_t value);
2388 const mama_i16_t value);
2399 const mama_i16_t value);
2412 const mama_u16_t value);
2423 const mama_u16_t value);
2436 const mama_i32_t value);
2447 const mama_i32_t value);
2460 const mama_u32_t value);
2471 const mama_u32_t value);
2484 const mama_i64_t value);
2495 const mama_i64_t value);
2508 const mama_u64_t value);
2519 const mama_u64_t value);
2532 const mama_f32_t value);
2543 const mama_f32_t value);
2556 const mama_f64_t value);
2567 const mama_f64_t value);
2629 void updateDateTime (
2641 void updateDateTime (
2672 mamaMsgType getType (
void)
const;
2677 const char* getMsgTypeName (
void)
const;
2682 mamaMsgStatus getStatus (
void)
const;
2687 const char* getMsgStatusString (
void)
const;
2694 void* closure)
const;
2703 const char* toString ()
const;
2712 void getFieldAsString (
2716 size_t maxResultLen)
const;
2724 void getFieldAsString (
2727 size_t maxResultLen)
const;
2736 mama_fid_t fid)
const;
2753 mama_fid_t fid)
const;
2791 bool tryFieldAsString (
2795 size_t maxResultLen)
const;
2804 bool tryFieldAsString (
2807 size_t maxResultLen)
const;
2817 void getByteBuffer (
2818 const void*& buffer,
2819 size_t& bufferLength)
const;
2829 void createForBridge (
2830 mamaBridge bridgeImpl);
2849 bool isFromInbox (
void)
const;
2851 mama_seqnum_t getSeqNum (
void)
const;
2857 bool getIsDefinitelyDuplicate (
void)
const;
2864 bool getIsPossiblyDuplicate (
void)
const;
2870 bool getIsPossiblyDelayed (
void)
const;
2876 bool getIsDefinitelyDelayed (
void)
const;
2881 bool getIsOutOfSequence (
void)
const;
2899 void* getNativeHandle (
void)
const;
2902 void createFromMsg (
2904 bool destroyMsg =
false)
const;
2916 const mamaMsg& getUnderlyingMsg (
void)
const;
2921 mamaMsg getUnderlyingMsg (
void);
2929 mamaPayloadType getPayloadType (
void)
const;
2935 void* getNativeMsg (
void);
2951 mamaMsgReply getReplyHandle (
void)
const;
2956 static void destroyReplyHandle (
2957 mamaMsgReply replyHandle);
2960 mutable mamaMsg mMsg;
2961 mutable bool mDestroy;
2963 mutable size_t mVectorMsgSize;
2964 mutable size_t mVectorMsgAllocSize;
2965 mutable mamaMsg* mCvectorMsg;
2966 mutable size_t mCvectorMsgAllocSize;
2968 mutable const char* mString;
2972 void setDestroyCMsg (
bool destroy);
2974 void growVector (
size_t newSize)
const;
2975 void growCvector (
size_t newSize)
const;
2979 #endif // MAMA_MSG_CPP_H__ The MamaDictionary class maps field identifiers (FIDs) to human readable strings. ...
Definition: MamaDictionary.h:41
Callback class for iterating over all fields in a message.
Definition: MamaMsgFieldIterator.h:34
MAMA message representation.
Definition: MamaMsg.h:113
mamaMsgIterator myImpl
Definition: MamaMsg.h:73
Definition: MamaBasicSubscription.h:27
Iterator class for mamaMsg.
Definition: MamaMsg.h:53
MamaPrice is a special data type for representing floating point numbers that often require special f...
Definition: MamaPrice.h:43
A date/time representation with additional hints for precision, advanced output formatting and suppor...
Definition: MamaDateTime.h:67
MamaMsgField mMsgField
Definition: MamaMsg.h:74
MamaMsg field representation.
Definition: MamaMsgField.h:45
The MamaFieldDescriptor class describes a field within a MamaDictionary
Definition: MamaFieldDescriptor.h:39