00001 // 00002 // <copyright> 00003 // $Revision: 1.8 $ 00004 // 00005 // (c) B2BITS 2006. B2BITS is an abbreviation of 00006 // Business to Business Information Technology Services corporation. 00007 // "Licensor" shall mean B2BITS. 00008 // 00009 // This software is for the use of the paying client of B2BITS (which may be 00010 // a corporation, business area, business unit or single use subject to 00011 // licence terms) to whom it was delivered (the "Licensee")and no other party, 00012 // and any use beyond this business area is contrary to the terms of the licence grant. 00013 // 00014 // The Licensee acknowledges and agrees that the Software and Documentation 00015 // (the "Confidential Information") is confidential and proprietary to 00016 // the Licensor and the Licensee hereby agrees to use the Confidential 00017 // Information only as permitted by the full licence agreement betweeen 00018 // the two parties, to maintain the confidentiality of the Confidential 00019 // Information and not to disclose the confidential information, or any part 00020 // thereof, to any other person, firm or corporation. The Licensee 00021 // acknowledges that disclosure of the Confidential Information may give rise 00022 // to an irreparable injury to the Licensor in-adequately compensable in 00023 // damages. Accordingly the Licensor may seek (without the posting of any 00024 // bond or other security) injunctive relief against the breach of the forgoing 00025 // undertaking of confidentiality and non-disclosure, in addition to any other 00026 // legal remedies which may be available, and the licensee consents to the 00027 // obtaining of such injunctive relief. All of the undertakings and 00028 // obligations relating to confidentiality and non-disclosure, whether 00029 // contained in this section or elsewhere in this agreement, shall survive 00030 // the termination or expiration of this agreement for a period of five (5) 00031 // years. 00032 // 00033 // The Licensor agrees that any information or data received from the Licensee 00034 // in connection with the performance of the support agreement relating to this 00035 // software shall be confidential, will be used only in connection with the 00036 // performance of the Licensor's obligations hereunder, and will not be 00037 // disclosed to third parties, including contractors, without the Licensor's 00038 // express permission in writing. 00039 // 00040 // Information regarding the software may be provided to the Licensee's outside 00041 // auditors and attorneys only to the extent required by their respective 00042 // functions. 00043 // </copyright> 00044 // 00045 00048 00049 #ifndef __B2BITS_PubDictionaryDefines_h__ 00050 #define __B2BITS_PubDictionaryDefines_h__ 00051 00052 #include <string> 00053 #include <vector> 00054 #include "B2BITS_V12_Defines.h" 00055 00056 namespace Engine { 00057 00058 class FIXMessage; 00059 00061 enum FIXVersion { 00062 NA, 00063 FIX40, 00064 FIX41, 00065 FIX42, 00066 ESFIX, 00067 FIX43, 00068 FIX44, 00069 FAST_FIX44, 00070 FIX50, 00071 FIXT11, 00072 FIX50SP1CME, 00073 FIXVersion_Last 00074 }; 00075 00077 typedef enum { 00078 NONE = 0, 00079 PKCS = 1, 00080 DES = 2, 00081 PKCS_DES = 3, 00082 PGP_DES = 4, 00083 PGP_DES_MD5 = 5, 00084 PEM_DES_MD5 = 6 00085 } EncryptMethod; 00086 00087 00089 struct FixField { 00090 int tag_; 00091 std::string value_; 00092 00096 FixField(int tag, const std::string& value) 00097 : tag_(tag), value_(value){} 00098 }; 00099 00101 typedef std::vector<FixField> FixFieldsList; 00102 00104 class V12_API FixFieldsContainer{ 00105 friend class FixMsg; 00106 friend class FixGrp; 00107 friend class FixMsgHelper; 00108 public: 00110 FixFieldsContainer(); 00111 00113 void release(); 00114 00116 size_t size()const; 00117 00119 FixField operator[](int idx)const; 00120 00122 void clear(); 00123 00125 FixFieldsList::iterator begin(); 00126 00128 FixFieldsList::iterator end(); 00129 00131 void erase(FixFieldsList::iterator it); 00132 private: 00133 virtual ~FixFieldsContainer(); 00134 FixFieldsList *cont_; 00135 }; 00136 00137 00138 } // namespace Engine 00139 00140 00141 #endif // _B2BITS_PubDictionaryDefines__h_
1.5.6