OSVR-Core
HandleNullContext.h
Go to the documentation of this file.
1 
11 // Copyright 2014 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_HandleNullContext_h_GUID_3951FC65_BC2E_49BD_CACD_978BD4D8F337
26 #define INCLUDED_HandleNullContext_h_GUID_3951FC65_BC2E_49BD_CACD_978BD4D8F337
27 
28 // Internal Includes
29 #include <osvr/Util/MacroToolsC.h>
30 #include <osvr/PluginKit/CommonC.h>
31 
32 // Library/third-party includes
33 // - none
34 
35 // Standard includes
36 #include <iostream>
37 
40 #define OSVR_PLUGIN_HANDLE_NULL_CONTEXT(FUNC, CONTEXT_NAME) \
41  OSVR_UTIL_MULTILINE_BEGIN if (!CONTEXT_NAME) { \
42  std::cerr << "ERROR (" << FUNC \
43  << "): Null context " #CONTEXT_NAME " passed!" << std::endl; \
44  return OSVR_RETURN_FAILURE; \
45  } \
46  OSVR_UTIL_MULTILINE_END
47 
50 #define OSVR_PLUGIN_HANDLE_NULL_CONTEXT_CONSTRUCTOR(FUNC, CONTEXT_NAME) \
51  OSVR_UTIL_MULTILINE_BEGIN if (!CONTEXT_NAME) { \
52  std::cerr << "ERROR (" << FUNC \
53  << "): Null context " #CONTEXT_NAME " passed!" << std::endl; \
54  return nullptr; \
55  } \
56  OSVR_UTIL_MULTILINE_END
57 
58 #endif // INCLUDED_HandleNullContext_h_GUID_3951FC65_BC2E_49BD_CACD_978BD4D8F337
Header containing basic macro tools.
Header shared between multiple C API headers.