00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00027 #ifndef INSPECTORJ_AGENT_COMMANDSET_REFERENCETYPECMDSET_H
00028 #define INSPECTORJ_AGENT_COMMANDSET_REFERENCETYPECMDSET_H
00029
00030 #include "inspectorj/agent/commandset/jdwpcommandset.h"
00031 #include "inspectorj/agent/classfile_constants.h"
00032 #include "inspectorj/toolset/toolsetutils.h"
00033
00034 namespace inspectorj {
00035 namespace agent {
00036 namespace commandset {
00037
00044 class ReferenceTypeCmdSet : public JDWPCommandSet
00045 {
00046 public:
00047 ReferenceTypeCmdSet(JavaVM *vm, JNIEnv *env, jvmtiEnv *jvmti);
00048 virtual ~ReferenceTypeCmdSet();
00049 virtual void process(JDWPCommand* cmd, boost::function< void (JDWPReply*) > cbk);
00050
00051 protected:
00052 virtual jvmtiError getClassModifierString(jclass&, QString&);
00053 virtual jvmtiError getFieldModifierString(jclass&, jfieldID&, QString&);
00054 virtual jvmtiError getMethodModifierString(jmethodID&, QString&);
00055 virtual jvmtiError getReferenceTypeString(jclass&, QString&);
00056 virtual jvmtiError getClassSignatureString(jclass&, QString&);
00057 virtual jvmtiError getFieldString(jclass&, jfieldID&, QString&, QString&);
00058 virtual jvmtiError getMethodSignatureString(jmethodID&, QString&, QString&);
00059
00060 private:
00061 void getFields(JDWPCommand*, boost::function< void (JDWPReply*) >);
00062 void getMethods(JDWPCommand*, boost::function< void (JDWPReply*) >);
00063
00064 };
00065
00066 }
00067 }
00068 }
00069
00070 #endif // INSPECTORJ_AGENT_COMMANDSET_REFERENCETYPECMDSET_H