OSVR-Core
GuardInterface.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_GuardInterface_h_GUID_95F5DE8D_6ED0_4A80_9D86_EC8589CB2196
26 #define INCLUDED_GuardInterface_h_GUID_95F5DE8D_6ED0_4A80_9D86_EC8589CB2196
27 
28 // Internal Includes
30 #include <osvr/Util/Export.h>
31 
32 // Library/third-party includes
33 // - none
34 
35 // Standard includes
36 // - none
37 
38 namespace osvr {
39 namespace util {
43  class OSVR_UTIL_EXPORT GuardInterface {
44  public:
45  virtual ~GuardInterface();
50  OSVR_RETURN_WARN_UNUSED virtual bool lock() = 0;
51  };
52 
53 } // namespace util
54 } // namespace osvr
55 #endif // INCLUDED_GuardInterface_h_GUID_95F5DE8D_6ED0_4A80_9D86_EC8589CB2196
Definition: RunLoopManager.h:42
An interface to a (deferred) guard class: after instantiation and lock returning true, some resource is locked and available until destruction.
Definition: GuardInterface.h:43
The main namespace for all C++ elements of the framework, internal and external.
Definition: namespace_osvr.dox:3
#define OSVR_RETURN_WARN_UNUSED
Indicates the function has a return value that must be used (either a security problem or an obvious ...
Definition: AnnotationMacrosC.h:213
Header containing macros for source-level annotation.