• Main Page
  • Related Pages
  • Classes
  • Files
  • File List

src/Version.hh

00001 /*
00002  * Copyright Staffan Gimåker 2009-2010.
00003  *
00004  * ---
00005  *
00006  * Distributed under the Boost Software License, Version 1.0.
00007  * (See accompanying file LICENSE_1_0.txt or copy at
00008  * http://www.boost.org/LICENSE_1_0.txt)
00009  */
00010 
00011 #ifndef PEEKABOT_VERSION_HH_INCLUDED
00012 #define PEEKABOT_VERSION_HH_INCLUDED
00013 
00014 
00015 #include "Visibility.hh"
00016 
00017 #include <string>
00018 #include <boost/cstdint.hpp>
00019 
00020 
00021 // Current peekabot version
00022 #define PEEKABOT_VERSION_MAJOR    0
00023 #define PEEKABOT_VERSION_MINOR    8
00024 #define PEEKABOT_VERSION_REVISION 4
00025 // Release status:
00026 //   0   = final release
00027 //   255 = dev
00028 //   1   = RC 1
00029 //   ...
00030 #define PEEKABOT_RELEASE_STATUS   0
00031 
00032 #define PEEKABOT_VERSION                        \
00033     ((PEEKABOT_VERSION_MAJOR << 16) |           \
00034      (PEEKABOT_VERSION_MINOR << 8)  |           \
00035      (PEEKABOT_VERSION_REVISION))
00036 
00037 // The lowest version of peekabot clients this version is compatible with.
00038 #define PEEKABOT_COMPATIBLE_VERSION_MAJOR    0
00039 #define PEEKABOT_COMPATIBLE_VERSION_MINOR    8
00040 #define PEEKABOT_COMPATIBLE_VERSION_REVISION 0
00041 
00042 #define PEEKABOT_COMPATIBLE_VERSION                     \
00043     ((PEEKABOT_COMPATIBLE_VERSION_MAJOR << 16) |        \
00044      (PEEKABOT_COMPATIBLE_VERSION_MINOR << 8)  |        \
00045      (PEEKABOT_COMPATIBLE_VERSION_REVISION))
00046 
00047 // The lowest version of peekabot this version can read PBAR files from.
00048 // This can differ from the generally compatible version since the data flow is
00049 // unidirectional, allowing us to be compatible with earlier version than
00050 // possible for clients.
00051 #define PEEKABOT_PBAR_COMPATIBLE_VERSION_MAJOR    0
00052 #define PEEKABOT_PBAR_COMPATIBLE_VERSION_MINOR    8
00053 #define PEEKABOT_PBAR_COMPATIBLE_VERSION_REVISION 0
00054 
00055 #define PEEKABOT_PBAR_COMPATIBLE_VERSION                \
00056     ((PEEKABOT_PBAR_COMPATIBLE_VERSION_MAJOR << 16) |   \
00057      (PEEKABOT_PBAR_COMPATIBLE_VERSION_MINOR << 8)  |   \
00058      (PEEKABOT_PBAR_COMPATIBLE_VERSION_REVISION))
00059 
00060 
00061 namespace peekabot
00062 {
00063     PEEKABOT_API extern const std::string PEEKABOT_VERSION_STRING;
00064     PEEKABOT_API extern const std::string PEEKABOT_COMPATIBLE_VERSION_STRING;
00065     PEEKABOT_API extern const std::string PEEKABOT_PBAR_COMPATIBLE_VERSION_STRING;
00066 
00067     PEEKABOT_API std::string make_peekabot_version_string(
00068         boost::uint8_t major,
00069         boost::uint8_t minor,
00070         boost::uint8_t rev,
00071         boost::uint8_t rc);
00072 }
00073 
00074 
00075 #endif // PEEKABOT_VERSION_HH_INCLUDED

Generated on Sun Jan 30 2011 for peekabot by  doxygen 1.7.1