OptionGroupWatchpoint.h revision 1e0e73a403ffbbeafa7a98e958909b56be929cf0
1//===-- OptionGroupWatchpoint.h ---------------------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10#ifndef liblldb_OptionGroupWatchpoint_h_ 11#define liblldb_OptionGroupWatchpoint_h_ 12 13// C Includes 14// C++ Includes 15// Other libraries and framework includes 16// Project includes 17#include "lldb/Interpreter/Options.h" 18 19namespace lldb_private { 20 21//------------------------------------------------------------------------- 22// OptionGroupWatchpoint 23//------------------------------------------------------------------------- 24 25 class OptionGroupWatchpoint : public OptionGroup 26 { 27 public: 28 29 static bool 30 IsWatchSizeSupported(uint32_t watch_size); 31 32 OptionGroupWatchpoint (); 33 34 virtual 35 ~OptionGroupWatchpoint (); 36 37 virtual uint32_t 38 GetNumDefinitions (); 39 40 virtual const OptionDefinition* 41 GetDefinitions (); 42 43 virtual Error 44 SetOptionValue (CommandInterpreter &interpreter, 45 uint32_t option_idx, 46 const char *option_arg); 47 48 virtual void 49 OptionParsingStarting (CommandInterpreter &interpreter); 50 51 // Note: 52 // eWatchRead == LLDB_WATCH_TYPE_READ; and 53 // eWatchWrite == LLDB_WATCH_TYPE_WRITE 54 typedef enum WatchType { 55 eWatchInvalid = 0, 56 eWatchRead, 57 eWatchWrite, 58 eWatchReadWrite 59 } WatchType; 60 61 WatchType watch_type; 62 uint32_t watch_size; 63 bool watch_type_specified; 64 65 private: 66 DISALLOW_COPY_AND_ASSIGN(OptionGroupWatchpoint); 67 }; 68 69} // namespace lldb_private 70 71#endif // liblldb_OptionGroupWatchpoint_h_ 72