OSVR-Core
RawMessageType.h
Go to the documentation of this file.
1 
11 // Copyright 2015 Sensics, Inc.
12 //
13 // Licensed under the Apache License, Version 2.0 (the "License");
14 // you may not use this file except in compliance with the License.
15 // You may obtain a copy of the License at
16 //
17 // http://www.apache.org/licenses/LICENSE-2.0
18 //
19 // Unless required by applicable law or agreed to in writing, software
20 // distributed under the License is distributed on an "AS IS" BASIS,
21 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 // See the License for the specific language governing permissions and
23 // limitations under the License.
24 
25 #ifndef INCLUDED_RawMessageType_h_GUID_839F0B4F_18AC_468C_31DB_33601F95DA3C
26 #define INCLUDED_RawMessageType_h_GUID_839F0B4F_18AC_468C_31DB_33601F95DA3C
27 
28 // Internal Includes
29 #include <osvr/Common/Export.h>
30 #include <osvr/Util/StdInt.h>
31 
32 // Library/third-party includes
33 #include <boost/optional.hpp>
34 
35 // Standard includes
36 // - none
37 
38 namespace osvr {
39 namespace common {
46  public:
47  typedef int32_t UnderlyingMessageType;
50 
52  explicit RawMessageType(UnderlyingMessageType msg);
53 
55  UnderlyingMessageType get() const;
56 
59  UnderlyingMessageType getOr(UnderlyingMessageType valueIfNotSet) const;
60 
61  private:
62  boost::optional<UnderlyingMessageType> m_message;
63  };
64 
65 } // namespace common
66 } // namespace osvr
67 
68 #endif // INCLUDED_RawMessageType_h_GUID_839F0B4F_18AC_468C_31DB_33601F95DA3C
Handles spatial transformations.
Definition: SerializationTraitExample_Complicated.h:40
Header wrapping the C99 standard stdint header.
The main namespace for all C++ elements of the framework, internal and external.
Definition: namespace_osvr.dox:3
RawMessageType()
Default constructor - "any message type".
Definition: RawMessageType.cpp:36
Type-safe wrapper with built-in default for a VRPN "message type" integer.
Definition: RawMessageType.h:45
UnderlyingMessageType getOr(UnderlyingMessageType valueIfNotSet) const
Gets the registered message type value, if specified, otherwise returns the provided value...
Definition: RawMessageType.cpp:43