oracle instant client 11.2 for x86
diff --git a/sdk/include/occiAQ.h b/sdk/include/occiAQ.h
new file mode 100755
index 0000000..e07e40c
--- /dev/null
+++ b/sdk/include/occiAQ.h
@@ -0,0 +1,374 @@
+/* Copyright (c) 2002, 2005, Oracle. All rights reserved.  */
+ 
+/* 
+   NAME 
+     occiAQ.h - Header file for occi AQ classes
+
+   DESCRIPTION 
+     Class declarations for Producer, Consumer, Message, Agent
+     Listener, Subscription
+
+   RELATED DOCUMENTS 
+     <note any documents related to this facility>
+ 
+   EXPORT FUNCTION(S) 
+     <external functions declared for use outside package - one-line 
+     descriptions>
+
+   INTERNAL FUNCTION(S)
+     <other external functions declared - one-line descriptions>
+
+   EXAMPLES
+
+   NOTES
+     <other useful comments, qualifications, etc.>
+
+   MODIFIED   (MM/DD/YY)
+   cparampa    10/12/02 - creation
+
+*/
+
+#ifndef _olint   /* disable olint check */
+
+#ifndef OCCIAQ_ORACLE
+# define OCCIAQ_ORACLE
+
+#ifndef OCCICOMMON_ORACLE
+#include <occiCommon.h>
+#endif
+
+namespace oracle {
+namespace occi {
+namespace aq{
+
+/*---------------------------------------------------------------------------
+                     PUBLIC TYPES AND CONSTANTS
+  ---------------------------------------------------------------------------*/
+
+class Message
+{
+  public:
+
+     enum MessageState
+     {
+        MSG_READY = OCI_MSG_READY,
+        MSG_WAITING = OCI_MSG_WAITING,
+        MSG_PROCESSED = OCI_MSG_PROCESSED,
+        MSG_EXPIRED = OCI_MSG_EXPIRED
+     };
+     enum PayloadType
+     {
+        RAW,
+        ANYDATA,
+        OBJECT
+     };
+
+     Message( const Environment *env );
+     Message( const Message& rhs);
+     ~Message();
+     
+     void operator=(const Message& rhs);
+     int getAttemptsToDequeue() const ;
+     void setCorrelationId( const OCCI_STD_NAMESPACE::string& corr_id ) ;
+     OCCI_STD_NAMESPACE::string getCorrelationId() const ;
+     void setDelay( int delay ) ;
+     int getDelay() const ;
+     Date getMessageEnqueuedTime() const ;
+     void setExceptionQueueName( const OCCI_STD_NAMESPACE::string& queue ) ;
+     OCCI_STD_NAMESPACE::string getExceptionQueueName() const ;
+     void setExpiration( int exp ) ;
+     int getExpiration() const ;
+     MessageState getMessageState() const ;
+     void setPriority( int priority ) ;
+     int getPriority() const ;
+     void setRecipientList( OCCI_STD_NAMESPACE::vector<Agent>& ag_list ) ;
+     void setSenderId( const Agent& sender ) ;
+     Agent getSenderId() const ;
+     void setOriginalMessageId( const Bytes& queue ) ;
+     Bytes getOriginalMessageId() const ;
+     void setNull();
+     bool isNull() const;
+
+     void setBytes( const Bytes& bytes); 
+     void setObject( PObject* pobj);
+     void setAnyData( const AnyData& any);
+
+     Bytes getBytes() const ;
+     PObject *getObject() ;
+     AnyData getAnyData() const ;
+
+     PayloadType getPayloadType( ) const;
+
+   private:
+     Ptr<MessageImpl> ptr;
+     OCIAQMsgProperties* getOCIMsgProperties() const;
+     Message( const Environment *env, const Connection *con, 
+          OCIAQMsgProperties *msgprop, void *data, unsigned int dataLen, 
+          bool isNull, PayloadType pType);
+     friend class ConsumerImpl;
+     friend class ProducerImpl;
+     friend class NotifyResult;
+};
+
+class Producer
+{
+   public:
+
+     enum EnqueueSequence
+     {
+       ENQ_BEFORE = OCI_ENQ_BEFORE,
+       ENQ_TOP    = OCI_ENQ_TOP
+     };
+     enum Visibility
+     {
+       ENQ_IMMEDIATE = OCI_ENQ_IMMEDIATE,
+       ENQ_ON_COMMIT = OCI_ENQ_ON_COMMIT
+     };
+     
+     Producer( const Connection *conn ); 
+     Producer( const Connection *conn, 
+               const OCCI_STD_NAMESPACE::string& queue ); 
+     Producer( const Producer& rhs);
+     ~Producer();
+
+     void operator=(const Producer& prod);
+     void setRelativeMessageId( const Bytes& msgid );
+     Bytes getRelativeMessageId() const;
+     void setSequenceDeviation( EnqueueSequence option );
+     EnqueueSequence getSequenceDeviation() const;
+     void setVisibility( Visibility option );
+     Visibility getVisibility() const;
+     void setQueueName( const OCCI_STD_NAMESPACE::string& queue );
+     OCCI_STD_NAMESPACE::string getQueueName() const;
+     void setTransformation( const OCCI_STD_NAMESPACE::string& fName);
+     OCCI_STD_NAMESPACE::string getTransformation() const;
+     Bytes send( Message& msg, const OCCI_STD_NAMESPACE::string& queue );
+     Bytes send( Message& msg );
+     void setNull();
+     bool isNull() const;
+
+  private:
+     Ptr<ProducerImpl> ptr; 
+};
+
+class Consumer
+{
+   public:
+
+     enum DequeueMode
+     {
+       DEQ_BROWSE  = OCI_DEQ_BROWSE,
+       DEQ_LOCKED  = OCI_DEQ_LOCKED,
+       DEQ_REMOVE  = OCI_DEQ_REMOVE,
+       DEQ_REMOVE_NODATA = OCI_DEQ_REMOVE_NODATA
+     };
+     enum Navigation
+     {
+       DEQ_FIRST_MSG        = OCI_DEQ_FIRST_MSG,
+       DEQ_NEXT_TRANSACTION = OCI_DEQ_NEXT_TRANSACTION,
+       DEQ_NEXT_MSG         = OCI_DEQ_NEXT_MSG
+     };
+     enum Visibility
+     {
+       DEQ_IMMEDIATE = OCI_DEQ_IMMEDIATE,
+       DEQ_ON_COMMIT = OCI_DEQ_ON_COMMIT
+     };
+     enum
+     {
+       DEQ_WAIT_FOREVER = OCI_DEQ_WAIT_FOREVER,
+       DEQ_NO_WAIT      = OCI_DEQ_NO_WAIT
+     };
+     
+     Consumer( const Connection *conn ); 
+     Consumer( const Connection * conn, const Agent& agent); 
+     Consumer( const Connection *conn,
+               const OCCI_STD_NAMESPACE::string& queue ); 
+     Consumer(const Consumer& con);
+     ~Consumer();
+    
+     void operator=(const Consumer& con);
+     void setAgent(const Agent& agent);
+     void setConsumerName( const OCCI_STD_NAMESPACE::string& name );
+     OCCI_STD_NAMESPACE::string getConsumerName() const;
+     void setCorrelationId( const OCCI_STD_NAMESPACE::string& cor_id );
+     OCCI_STD_NAMESPACE::string getCorrelationId() const;
+     void setDequeueMode( DequeueMode mode );
+     DequeueMode getDequeueMode() const;
+     void setMessageIdToDequeue( const Bytes& msgid );
+     Bytes getMessageIdToDequeue() const;
+     void setPositionOfMessage( Navigation pos );
+     Navigation getPositionOfMessage() const;
+     void setVisibility( Visibility option );
+     Visibility getVisibility() const;
+     void setWaitTime( unsigned int wait );
+     unsigned int getWaitTime() const;
+     void setQueueName( const OCCI_STD_NAMESPACE::string& queue );
+     OCCI_STD_NAMESPACE::string getQueueName() const;
+     void setTransformation( const OCCI_STD_NAMESPACE::string& fName);
+     OCCI_STD_NAMESPACE::string getTransformation() const;
+     Message receive( Message::PayloadType pType,
+                      const OCCI_STD_NAMESPACE::string& type="",
+                      const OCCI_STD_NAMESPACE::string& schema="");
+     void setNull();
+     bool isNull() const;
+
+   private:
+     Ptr<ConsumerImpl> ptr; 
+};
+
+class Agent
+{
+   public:
+     Agent( const Environment *env ); 
+     Agent( const Environment *env, 
+            const OCCI_STD_NAMESPACE::string& name, 
+            const OCCI_STD_NAMESPACE::string& address, 
+            unsigned int protocol=0 ) ; 
+     Agent(const Agent& a);
+     ~Agent() ;
+ 
+     void operator=(const Agent& a);
+     void setName( const OCCI_STD_NAMESPACE::string& name );
+     OCCI_STD_NAMESPACE::string getName() const;
+     void setAddress( const OCCI_STD_NAMESPACE::string& addr );
+     OCCI_STD_NAMESPACE::string getAddress() const;
+     void setProtocol(unsigned int protocol = 0);
+     unsigned int getProtocol() const; 
+     void setNull(); 
+     bool isNull() const;
+     OCIAQAgent* getOCIAQAgent() const;
+
+   private:
+     Ptr<AgentImpl> ptr;
+     Agent( const Environment *env, OCIAQAgent *rhs, bool toFree = false );
+     friend class Listener;
+     friend class MessageImpl;
+};
+
+class Listener
+{
+   public:
+     Listener( const Connection *conn ); 
+     Listener( const Connection *conn, 
+               OCCI_STD_NAMESPACE::vector<Agent> &agList, 
+               int waitTime=0 );
+     ~Listener();
+     
+     Agent listen();
+     void setAgentList(OCCI_STD_NAMESPACE::vector<Agent> &agList);
+     void setTimeOutForListen(int waitTime);
+     OCCI_STD_NAMESPACE::vector<Agent> getAgentList() const;
+     int getTimeOutForListen() const; 
+
+   private:
+     const ConnectionImpl *conn; 
+     OCIAQAgent** agentList; 
+     unsigned int numAgents;
+     int timeOut;
+     void *listenerExt;
+};
+
+
+class Subscription
+{
+  public:
+    enum Presentation
+    {
+       PRES_DEFAULT = OCI_SUBSCR_PRES_DEFAULT,
+       PRES_XML = OCI_SUBSCR_PRES_XML
+    };
+    enum Protocol
+    {
+       PROTO_CBK = OCI_SUBSCR_PROTO_OCI,
+       PROTO_MAIL = OCI_SUBSCR_PROTO_MAIL,
+       PROTO_SERVER = OCI_SUBSCR_PROTO_SERVER,
+       PROTO_HTTP = OCI_SUBSCR_PROTO_HTTP
+    };
+    enum Namespace
+    {
+       NS_ANONYMOUS = OCI_SUBSCR_NAMESPACE_ANONYMOUS,
+       NS_AQ = OCI_SUBSCR_NAMESPACE_AQ
+    }; 
+    
+    Subscription(const Environment* env);
+    Subscription(const Environment* env, OCISubscription* sub);
+    Subscription(const Subscription& sub);
+    ~Subscription();
+    
+    void operator=(const Subscription& sub);
+    unsigned int getDatabaseServersCount() const;
+    void setDatabaseServerNames(
+        const OCCI_STD_NAMESPACE::vector<OCCI_STD_NAMESPACE::string>& dbsrv);
+    OCCI_STD_NAMESPACE::vector<OCCI_STD_NAMESPACE::string>
+                      getDatabaseServerNames() const ;
+    void setNotifyCallback(unsigned int (*callback)(Subscription& sub, 
+                                                    NotifyResult *nr));
+    unsigned int  (*getNotifyCallback() const)(Subscription& sub, 
+                                               NotifyResult *nr); 
+    void setCallbackContext(void* ctx);
+    void* getCallbackContext() const;
+    void setSubscriptionName(const OCCI_STD_NAMESPACE::string& name);
+    OCCI_STD_NAMESPACE::string getSubscriptionName() const ;
+    void setSubscriptionNamespace(Namespace nameSpace);
+    Namespace getSubscriptionNamespace() const ;
+    void setPayload(const Bytes& payload);
+    Bytes getPayload() const ;
+    void setRecipientName( const OCCI_STD_NAMESPACE::string& name);
+    OCCI_STD_NAMESPACE::string getRecipientName() const;
+    void setPresentation( Presentation pres) ;
+    Presentation getPresentation() const ;
+    void setProtocol( Protocol prot) ;
+    Protocol getProtocol() const ;
+    OCISubscription* getOCISubscription() const;
+    void setNull();
+    bool isNull() const;
+    Environment* getEnvironment() const;
+
+  private:
+    Ptr<SubscriptionImpl> ptr;
+};
+
+class NotifyResult
+{
+   public:
+     Bytes getPayload() const;
+     Message getMessage() const;
+     Bytes getMessageId() const;
+     OCCI_STD_NAMESPACE::string getConsumerName() const;
+     OCCI_STD_NAMESPACE::string getQueueName() const;
+
+  private:
+     const EnvironmentImpl *env;
+     void *payload;
+     unsigned int payloadLen;
+     void *desc;
+     ub4 mode;
+     void *notifyResultExt;
+
+     //private constructor
+     NotifyResult(const Environment *env, void *payload, ub4 payloadLen, 
+                  void *pdescriptor, ub4 mode);
+
+     friend class SubscriptionImpl;
+};
+      
+/*---------------------------------------------------------------------------
+                     PRIVATE TYPES AND CONSTANTS
+  ---------------------------------------------------------------------------*/
+
+
+/*---------------------------------------------------------------------------
+                           EXPORT FUNCTIONS
+  ---------------------------------------------------------------------------*/
+
+
+/*---------------------------------------------------------------------------
+                          INTERNAL FUNCTIONS
+  ---------------------------------------------------------------------------*/
+} /* end of namespace aq */
+} /* end of namespace occi */
+} /* end of namespace oracle */
+
+#endif                                              /* OCCIAQ_ORACLE */
+
+#endif                                              /* _olint */