comparison src/share/vm/services/diagnosticArgument.hpp @ 5978:51612f0c0a79

7148488: Whitebox tests for the Diagnostic Framework Parser Reviewed-by: brutisso, sla, mgerdin
author nloodin
date Thu, 15 Mar 2012 13:37:13 +0100
parents f1cb6f9cfe21
children d2a62e0f25eb
comparison
equal deleted inserted replaced
5947:80fe40862b02 5978:51612f0c0a79
108 void read_value(const char* str, size_t len, TRAPS); 108 void read_value(const char* str, size_t len, TRAPS);
109 virtual void parse_value(const char* str, size_t len, TRAPS) = 0; 109 virtual void parse_value(const char* str, size_t len, TRAPS) = 0;
110 virtual void init_value(TRAPS) = 0; 110 virtual void init_value(TRAPS) = 0;
111 virtual void reset(TRAPS) = 0; 111 virtual void reset(TRAPS) = 0;
112 virtual void cleanup() = 0; 112 virtual void cleanup() = 0;
113 virtual void value_as_str(char* buf, size_t len) = 0;
113 void set_next(GenDCmdArgument* arg) { 114 void set_next(GenDCmdArgument* arg) {
114 _next = arg; 115 _next = arg;
115 } 116 }
116 GenDCmdArgument* next() { 117 GenDCmdArgument* next() {
117 return _next; 118 return _next;
118 } 119 }
120
121 void to_string(jlong l, char* buf, size_t len);
122 void to_string(bool b, char* buf, size_t len);
123 void to_string(char* c, char* buf, size_t len);
124 void to_string(NanoTimeArgument n, char* buf, size_t len);
125 void to_string(MemorySizeArgument f, char* buf, size_t len);
126 void to_string(StringArrayArgument* s, char* buf, size_t len);
119 }; 127 };
120 128
121 template <class ArgType> class DCmdArgument: public GenDCmdArgument { 129 template <class ArgType> class DCmdArgument: public GenDCmdArgument {
122 private: 130 private:
123 ArgType _value; 131 ArgType _value;
141 destroy_value(); 149 destroy_value();
142 } 150 }
143 void parse_value(const char* str, size_t len, TRAPS); 151 void parse_value(const char* str, size_t len, TRAPS);
144 void init_value(TRAPS); 152 void init_value(TRAPS);
145 void destroy_value(); 153 void destroy_value();
154 void value_as_str(char *buf, size_t len) { return to_string(_value, buf, len);}
146 }; 155 };
147 156
148 #endif /* SHARE_VM_SERVICES_DIAGNOSTICARGUMENT_HPP */ 157 #endif /* SHARE_VM_SERVICES_DIAGNOSTICARGUMENT_HPP */