OLD | NEW |
| (Empty) |
1 /* | |
2 * Copyright 2011 The Native Client Authors. All rights reserved. | |
3 * Use of this source code is governed by a BSD-style license that can | |
4 * be found in the LICENSE file. | |
5 */ | |
6 | |
7 #ifndef NATIVE_CLIENT_SRC_TRUSTED_DEBUG_STUB_DEBUG_FLAGS_H_ | |
8 #define NATIVE_CLIENT_SRC_TRUSTED_DEBUG_STUB_DEBUG_FLAGS_H_ 1 | |
9 | |
10 #include "native_client/src/include/portability.h" | |
11 | |
12 /* | |
13 * This module provides interfaces for the host side of the | |
14 * connection. | |
15 * | |
16 */ | |
17 | |
18 namespace nacl_debug_conn { | |
19 | |
20 class DebugFlags { | |
21 public: | |
22 DebugFlags() : flags_(0) {} | |
23 virtual ~DebugFlags() {} | |
24 | |
25 bool GetFlag(uint32_t flag) const { | |
26 return ((flags_ & flag) != 0); | |
27 } | |
28 | |
29 uint32_t GetFlags() const { | |
30 return flags_; | |
31 } | |
32 | |
33 uint32_t GetFlagsMasked(uint32_t mask) const { | |
34 return flags_ & mask; | |
35 } | |
36 | |
37 void ClearFlag(uint32_t flag) { | |
38 flags_ &= ~flag; | |
39 } | |
40 | |
41 void SetFlag(uint32_t flag) { | |
42 flags_ |= flag; | |
43 } | |
44 | |
45 void SetFlags(uint32_t flags) { | |
46 flags_ = flags; | |
47 } | |
48 | |
49 void SetFlagsMasked(uint32_t flags, uint32_t mask) { | |
50 flags_ &= ~mask; | |
51 flags_ |= flags; | |
52 } | |
53 | |
54 private: | |
55 uint32_t flags_; | |
56 }; | |
57 | |
58 } /* End of nacl_debug_conn Namespace */ | |
59 | |
60 #endif | |
61 | |
OLD | NEW |