00001
00009 #ifndef _JMS_SESSION_H
00010 #define _JMS_SESSION_H 1
00011
00012 #include <JmsCommon.h>
00013 #include <JmsBrowser.h>
00014 #include <JmsConsumer.h>
00015 #include <JmsDestination.h>
00016 #include <JmsProducer.h>
00017 #include <JmsQueue.h>
00018 #include <JmsTopic.h>
00019 #include <JmsTypes.h>
00020
00024 #define SESSION_TRANSACTED 0
00025
00028 #define AUTO_ACKNOWLEDGE 1
00029
00032 #define CLIENT_ACKNOWLEDGE 2
00033
00036 #define DUPS_OK_ACKNOWLEDGE 3
00037
00041 typedef struct JmsSession JmsSession;
00042
00043 #ifdef __cplusplus
00044 extern "C" {
00045 #endif
00046
00061 extern int JMSENTRY JmsSessionGetTransacted(
00062 JmsSession * session,
00063 int * transacted,
00064 JMS64I flags
00065 );
00066
00080 extern int JMSENTRY JmsSessionGetAcknowledgeMode(
00081 JmsSession * session,
00082 int * acknowledgeMode,
00083 JMS64I flags
00084 );
00085
00098 extern int JMSENTRY JmsSessionCommit(
00099 JmsSession * session,
00100 JMS64I flags
00101 );
00102
00115 extern int JMSENTRY JmsSessionRollback(
00116 JmsSession * session,
00117 JMS64I flags
00118 );
00119
00154 extern int JMSENTRY JmsSessionClose(
00155 JmsSession * session,
00156 JMS64I flags
00157 );
00158
00182 extern int JMSENTRY JmsSessionRecover(
00183 JmsSession * session,
00184 JMS64I flags
00185 );
00186
00202 extern int JMSENTRY JmsSessionCreateProducer(
00203 JmsSession * session,
00204 JmsDestination * destination,
00205 JmsProducer ** producer,
00206 JMS64I flags
00207 );
00208
00229 extern int JMSENTRY JmsSessionCreateConsumer(
00230 JmsSession * session,
00231 JmsDestination * destination,
00232 JmsString * selector,
00233 int noLocal,
00234 JmsConsumer ** consumer,
00235 JMS64I flags
00236 );
00237
00258 extern int JMSENTRY JmsSessionCreateDurableSubscriber(
00259 JmsSession * session,
00260 JmsTopic * topic,
00261 JmsString * name,
00262 JmsString * selector,
00263 int noLocal,
00264 JmsConsumer ** consumer,
00265 JMS64I flags
00266 );
00267
00285 extern int JMSENTRY JmsSessionCreateBrowser(
00286 JmsSession * session,
00287 JmsQueue * queue,
00288 JmsString * selector,
00289 JmsBrowser ** browser,
00290 JMS64I flags
00291 );
00292
00305 extern int JMSENTRY JmsSessionUnsubscribe(
00306 JmsSession * session,
00307 JmsString * name,
00308 JMS64I flags
00309 );
00310
00324 extern int JMSENTRY JmsSessionCreateTemporaryQueue(
00325 JmsSession * connection,
00326 JmsQueue ** queue,
00327 JMS64I flags
00328 );
00329
00343 extern int JMSENTRY JmsSessionCreateTemporaryTopic(
00344 JmsSession * connection,
00345 JmsTopic ** topic,
00346 JMS64I flags
00347 );
00348
00349 #ifdef __cplusplus
00350 }
00351 #endif
00352 #endif
00353