00001
00009 #ifndef _JMS_MESSAGE_H
00010 #define _JMS_MESSAGE_H 1
00011
00015 typedef struct JmsMessage JmsMessage;
00016
00017 #include <limits.h>
00018 #include <JmsCommon.h>
00019 #include <JmsEnumeration.h>
00020 #include <JmsDestination.h>
00021 #include <JmsTypes.h>
00022
00026 #define JMS_NON_PERSISTENT 1
00027
00030 #define JMS_PERSISTENT 2
00031
00035 #define JMS_DEFAULT_DELIVERY_MODE JMS_PERSISTENT
00036
00039 #define JMS_DEFAULT_PRIORITY 4
00040
00043 #define JMS_DEFAULT_TIME_TO_LIVE 0
00044
00048 #define JMS_UNKNOWN_SUBCLASS -1
00049
00052 #define JMS_TEXT_MESSAGE 0
00053
00056 #define JMS_BYTES_MESSAGE 1
00057
00060 #define JMS_STREAM_MESSAGE 2
00061
00064 #define JMS_MAP_MESSAGE 3
00065
00068 #define JMS_OBJECT_MESSAGE 4
00069
00070 #ifdef __cplusplus
00071 extern "C" {
00072 #endif
00073
00092 extern int JMSENTRY JmsMessageGetSubclass(
00093 JmsMessage *message,
00094 int *subclass,
00095 JMS64I flags
00096 );
00097
00124 extern int JMSENTRY JmsMessageAcknowledge(
00125 JmsMessage *message,
00126 JMS64I flags
00127 );
00128
00164 extern int JMSENTRY JmsMessageGetMessageId(
00165 JmsMessage * message,
00166 JmsString * messageId,
00167 JMS64I flags
00168 );
00169
00199 extern int JMSENTRY JmsMessageGetTimestamp(
00200 JmsMessage * message,
00201 JMS64I * timestamp,
00202 JMS64I flags
00203 );
00204
00222 extern int JMSENTRY JmsMessageGetCorrelationId(
00223 JmsMessage * message,
00224 JmsString * correlationId,
00225 JMS64I flags
00226 );
00227
00264 extern int JMSENTRY JmsMessageSetCorrelationId(
00265 JmsMessage * message,
00266 JmsString * correlationId,
00267 JMS64I flags
00268 );
00269
00283 extern int JMSENTRY JmsMessageGetReplyTo(
00284 JmsMessage * message,
00285 JmsDestination ** destination,
00286 JMS64I flags
00287 );
00288
00302 extern int JMSENTRY JmsMessageSetReplyTo(
00303 JmsMessage * message,
00304 JmsDestination * destination,
00305 JMS64I flags
00306 );
00307
00331 extern int JMSENTRY JmsMessageGetDestination(
00332 JmsMessage * message,
00333 JmsDestination ** destination,
00334 JMS64I flags
00335 );
00336
00352 extern int JMSENTRY JmsMessageSetDestination(
00353 JmsMessage * message,
00354 JmsDestination * destination,
00355 JMS64I flags
00356 );
00357
00373 extern int JMSENTRY JmsMessageGetDeliveryMode(
00374 JmsMessage * message,
00375 int * deliveryMode,
00376 JMS64I flags
00377 );
00378
00393 extern int JMSENTRY JmsMessageGetRedelivered(
00394 JmsMessage * message,
00395 int * redelivered,
00396 JMS64I flags
00397 );
00398
00429 extern int JMSENTRY JmsMessageSetType(
00430 JmsMessage * message,
00431 JmsString * type,
00432 JMS64I flags
00433 );
00434
00448 extern int JMSENTRY JmsMessageGetType(
00449 JmsMessage * message,
00450 JmsString * type,
00451 JMS64I flags
00452 );
00453
00481 extern int JMSENTRY JmsMessageGetExpiration(
00482 JmsMessage * message,
00483 JMS64I * expiration,
00484 JMS64I flags
00485 );
00486
00509 extern int JMSENTRY JmsMessageGetPriority(
00510 JmsMessage * message,
00511 int * priority,
00512 JMS64I flags
00513 );
00514
00528 extern int JMSENTRY JmsMessageClearProperties(
00529 JmsMessage * message,
00530 JMS64I flags
00531 );
00532
00548 extern int JMSENTRY JmsMessagePropertyExists(
00549 JmsMessage * message,
00550 JmsString * name,
00551 int * exists,
00552 JMS64I flags
00553 );
00554
00570 extern int JMSENTRY JmsMessageGetPropertyNames(
00571 JmsMessage * message,
00572 JmsEnumeration ** enumeration,
00573 JMS64I flags
00574 );
00575
00590 extern int JMSENTRY JmsMessageGetBooleanProperty(
00591 JmsMessage * message,
00592 JmsString * name,
00593 int * value,
00594 JMS64I flags
00595 );
00596
00610 extern int JMSENTRY JmsMessageSetBooleanProperty(
00611 JmsMessage * message,
00612 JmsString * name,
00613 int value,
00614 JMS64I flags
00615 );
00616
00631 extern int JMSENTRY JmsMessageGetByteProperty(
00632 JmsMessage * message,
00633 JmsString * name,
00634 unsigned char * value,
00635 JMS64I flags
00636 );
00637
00651 extern int JMSENTRY JmsMessageSetByteProperty(
00652 JmsMessage * message,
00653 JmsString * name,
00654 unsigned char value,
00655 JMS64I flags
00656 );
00657
00672 extern int JMSENTRY JmsMessageGetShortProperty(
00673 JmsMessage * message,
00674 JmsString * name,
00675 short * value,
00676 JMS64I flags
00677 );
00678
00692 extern int JMSENTRY JmsMessageSetShortProperty(
00693 JmsMessage * message,
00694 JmsString * name,
00695 short value,
00696 JMS64I flags
00697 );
00698
00713 extern int JMSENTRY JmsMessageGetIntProperty(
00714 JmsMessage * message,
00715 JmsString * name,
00716 JMS32I * value,
00717 JMS64I flags
00718 );
00719
00733 extern int JMSENTRY JmsMessageSetIntProperty(
00734 JmsMessage * message,
00735 JmsString * name,
00736 JMS32I value,
00737 JMS64I flags
00738 );
00739
00754 extern int JMSENTRY JmsMessageGetLongProperty(
00755 JmsMessage * message,
00756 JmsString * name,
00757 JMS64I * value,
00758 JMS64I flags
00759 );
00760
00774 extern int JMSENTRY JmsMessageSetLongProperty(
00775 JmsMessage * message,
00776 JmsString * name,
00777 JMS64I value,
00778 JMS64I flags
00779 );
00780
00795 extern int JMSENTRY JmsMessageGetFloatProperty(
00796 JmsMessage * message,
00797 JmsString * name,
00798 float * value,
00799 JMS64I flags
00800 );
00801
00815 extern int JMSENTRY JmsMessageSetFloatProperty(
00816 JmsMessage * message,
00817 JmsString * name,
00818 float value,
00819 JMS64I flags
00820 );
00821
00836 extern int JMSENTRY JmsMessageGetDoubleProperty(
00837 JmsMessage * message,
00838 JmsString * name,
00839 double * value,
00840 JMS64I flags
00841 );
00842
00856 extern int JMSENTRY JmsMessageSetDoubleProperty(
00857 JmsMessage * message,
00858 JmsString * name,
00859 double value,
00860 JMS64I flags
00861 );
00862
00878 extern int JMSENTRY JmsMessageGetStringProperty(
00879 JmsMessage * message,
00880 JmsString * name,
00881 JmsString * value,
00882 JMS64I flags
00883 );
00884
00898 extern int JMSENTRY JmsMessageSetStringProperty(
00899 JmsMessage * message,
00900 JmsString * name,
00901 JmsString * value,
00902 JMS64I flags
00903 );
00904
00921 extern int JMSENTRY JmsMessageClearBody(
00922 JmsMessage * message,
00923 JMS64I flags
00924 );
00925
00938 extern int JMSENTRY JmsMessageDestroy(
00939 JmsMessage *message,
00940 JMS64I flags
00941 );
00942
00943 #ifdef __cplusplus
00944 }
00945 #endif
00946 #endif