RCFProto
 All Classes Functions Typedefs
Version.hpp
1 
2 //******************************************************************************
3 // RCF - Remote Call Framework
4 //
5 // Copyright (c) 2005 - 2013, Delta V Software. All rights reserved.
6 // http://www.deltavsoft.com
7 //
8 // RCF is distributed under dual licenses - closed source or GPL.
9 // Consult your particular license for conditions of use.
10 //
11 // If you have not purchased a commercial license, you are using RCF
12 // under GPL terms.
13 //
14 // Version: 2.0
15 // Contact: support <at> deltavsoft.com
16 //
17 //******************************************************************************
18 
19 #ifndef INCLUDE_RCF_VERSION_HPP
20 #define INCLUDE_RCF_VERSION_HPP
21 
22 #include <RCF/BuildVersion.hpp>
23 #include <RCF/Export.hpp>
24 
25 #include <boost/cstdint.hpp>
26 
27 namespace RCF {
28 
29  // Runtime versioning.
30 
31  // legacy - version number 1
32 
33  // 2007-04-26 - version number 2
34  // Released in 0.9c
35 
36  // 2008-03-29 - version number 3
37  // - Using I_SessionObjectFactory instead of I_ObjectFactoryService for session object creation and deletion.
38  // Released in 0.9d
39 
40  // 2008-09-06 - version number 4
41  // - ByteBuffer compatible with std::vector etc.
42  // Released in 1.0
43 
44  // 2008-12-06 - version number 5
45  // - Pingback field in MethodInvocationRequest
46  // Released in 1.1
47 
48  // 2010-01-21 - version number 6
49  // - Archive version field in MethodInvocationRequest
50  // - Embedded version stamps in SF archives.
51  // - SF: Serialization of error arguments in RemoteException.
52  // Released in 1.2
53 
54  // 2010-03-20 - version number 7
55  // - User data fields in request and response headers
56  // Interim release (rev 1414).
57 
58  // 2010-03-30 - version number 8
59  // - Ping intervals between publishers and subscribers.
60  // - Byte reordering for fast vector serialization.
61  // - BSer: Serialization of error arguments in RemoteException.
62  // - Non-polymorphic marshaling of reference parameters
63  // - UTF-8 serialization of wstring (native as an option). Changes to request header.
64  // - BSer: remote exceptions serialized through raw pointer rather than auto_ptr.
65  // - Error response messages contain two custom args, rather than one.
66  // Released in 1.3
67 
68  // 2011-02-27 - version number 9
69  // - Only do non-polymorphic marshaling of reference parameters, if using SF and object caching is enabled for the marshaling type. Otherwise polymorphic marshaling, as in version 7 and earlier.
70  // - Optimize SF serialization of 32 bit integers < 128, to a single byte.
71  // Released in 1.3.1
72 
73  // 2012-01-13 - version number 10
74  // - Request and response headers include pointer tracking setting for SF archives.
75  // - SF archive metadata includes pointer tracking setting.
76 
77  // 2012-09-05 - version number 11
78  // - FileInfo serialization includes last-modified timestamp.
79 
80  // 2013-09-01 - version number 12
81  // - Request and response headers include out of band request and response.
82  // - Request of transport filters done through out of band message.
83 
84 
85  // Inherent runtime version - can't be changed.
86  RCF_EXPORT boost::uint32_t getLibraryVersion();
87 
88  // Default runtime version.
89  RCF_EXPORT boost::uint32_t getDefaultRuntimeVersion();
90  RCF_EXPORT void setDefaultRuntimeVersion(boost::uint32_t version);
91 
92  // Default archive version.
93  RCF_EXPORT boost::uint32_t getDefaultArchiveVersion();
94  RCF_EXPORT void setDefaultArchiveVersion(boost::uint32_t version);
95 
96 } // namespace RCF
97 
98 #endif // ! INCLUDE_RCF_VERSION_HPP