gpucalc::debugger::CodeInstructor Class Reference

#include <code_instructor.h>

Inheritance diagram for gpucalc::debugger::CodeInstructor:

Inheritance graph

List of all members.

Public Member Functions

 CodeInstructor (const std::string &CodeInstructorName)
const std::string & getClassName () const
 Returns name of class of our object.
virtual size_t getEndOfCycle (size_t line) const =0
 Returns line number with ending of cycle.
virtual size_t getExternalFunctionBody (const std::string &FunctionName) const =0
 Returns first line in definition of given function.
virtual std::string getExternalFunctionName (size_t line) const =0
virtual std::string getLanguageID () const =0
const std::string & getObjectName () const
 Returns name of our object.
void getSpecificParameter (const std::string &ParameterName, void *ParameterValue)
 Method for obtaining some specific parameters, such as texture specific params, and so on.
virtual std::string instruct (size_t line, const std::string &variable)=0
 Set instruction in given position in source code.
virtual bool isCycle (size_t line) const =0
 Defines if our line is inside cycle.
virtual bool isExternalFunctionCalling (size_t line) const =0
 Defines if our line is calling of external function: function which has source (function that is not in standart library for shader).
bool isLocked () const
 returns state of object.
virtual void setOriginalSource (const std::string &OriginalSource)=0
virtual ~CodeInstructor ()

Protected Member Functions

void addSpecificParameter (const std::string &ParameterName, void *ParameterValue, size_t Size)
void lock ()
void unlock ()


Detailed Description

Definition at line 51 of file code_instructor.h.


Constructor & Destructor Documentation

gpucalc::debugger::CodeInstructor::CodeInstructor ( const std::string &  CodeInstructorName  )  [inline]

Definition at line 59 of file code_instructor.h.

00059                                                         : Object(_CodeInstructorClassName, CodeInstructorName)
00060     {
00061      // does nothing
00062     }

virtual gpucalc::debugger::CodeInstructor::~CodeInstructor (  )  [inline, virtual]

Definition at line 65 of file code_instructor.h.

00066     {
00067     }


Member Function Documentation

void gpucalc::Object::addSpecificParameter ( const std::string &  ParameterName,
void *  ParameterValue,
size_t  Size 
) [inline, protected, inherited]

Definition at line 254 of file object.h.

00255    {
00256     SpecificParametersMap::iterator i = mSpecificParameters.find(ParameterName);
00257     if (i != mSpecificParameters.end())
00258     {
00259      mSpecificParameters.erase(i);
00260     }
00261     mSpecificParameters[ParameterName] = Any(ParameterValue, Size);
00262    }

const std::string& gpucalc::Object::getClassName (  )  const [inline, inherited]

Returns name of class of our object.

Definition at line 92 of file object.h.

00093    {
00094     return mClassName;
00095    }

virtual size_t gpucalc::debugger::CodeInstructor::getEndOfCycle ( size_t  line  )  const [pure virtual]

Returns line number with ending of cycle.

Uses in Debugger::stepOver()

Implemented in gpucalc::debugger::GLCgCodeInstructor, and gpucalc::debugger::GLGLSLCodeInstructor.

virtual size_t gpucalc::debugger::CodeInstructor::getExternalFunctionBody ( const std::string &  FunctionName  )  const [pure virtual]

Returns first line in definition of given function.

Uses in Debugger::stepInto()

Implemented in gpucalc::debugger::GLCgCodeInstructor, and gpucalc::debugger::GLGLSLCodeInstructor.

virtual std::string gpucalc::debugger::CodeInstructor::getExternalFunctionName ( size_t  line  )  const [pure virtual]

virtual std::string gpucalc::debugger::CodeInstructor::getLanguageID (  )  const [pure virtual]

const std::string& gpucalc::Object::getObjectName (  )  const [inline, inherited]

Returns name of our object.

Definition at line 101 of file object.h.

00102    {
00103     return mObjectName;
00104    }

void gpucalc::Object::getSpecificParameter ( const std::string &  ParameterName,
void *  ParameterValue 
) [inline, inherited]

Method for obtaining some specific parameters, such as texture specific params, and so on.

Parameters:
ParameterName - name of parameter, usually it similar to specific method of some object (for example, GLTextureID)
ParameterValue - contain value of named parameter, it must be allocated and have sufficient size.
Todo:
Think for better realization.

Definition at line 128 of file object.h.

00129    {
00130     SpecificParametersMap::iterator i = mSpecificParameters.find(ParameterName);
00131     if (i != mSpecificParameters.end())
00132     {
00133      i->second.copyValue(ParameterValue);
00134     }
00135     else
00136     {
00137      Except<ERR_ITEM_NOT_FOUND>(this, "Parameter \"" + ParameterName + "\" does not exists.", "Object::getSpecificParameter()", __FILE__, __LINE__);
00138     }
00139    }

virtual std::string gpucalc::debugger::CodeInstructor::instruct ( size_t  line,
const std::string &  variable 
) [pure virtual]

Set instruction in given position in source code.

Implemented in gpucalc::debugger::GLCgCodeInstructor, and gpucalc::debugger::GLGLSLCodeInstructor.

virtual bool gpucalc::debugger::CodeInstructor::isCycle ( size_t  line  )  const [pure virtual]

Defines if our line is inside cycle.

Implemented in gpucalc::debugger::GLCgCodeInstructor, and gpucalc::debugger::GLGLSLCodeInstructor.

virtual bool gpucalc::debugger::CodeInstructor::isExternalFunctionCalling ( size_t  line  )  const [pure virtual]

Defines if our line is calling of external function: function which has source (function that is not in standart library for shader).

Implemented in gpucalc::debugger::GLCgCodeInstructor, and gpucalc::debugger::GLGLSLCodeInstructor.

bool gpucalc::Object::isLocked (  )  const [inline, inherited]

returns state of object.

If object is locked then we cannot change some state of it, because object is used in computation. If object is unlocked then we can change some state of it, object is not in computation.

Definition at line 113 of file object.h.

00114    {
00115     return mIsLocked;
00116    }

void gpucalc::Object::lock (  )  [inline, protected, inherited]

Definition at line 265 of file object.h.

00266    {
00267     mIsLocked = true;
00268    }

virtual void gpucalc::debugger::CodeInstructor::setOriginalSource ( const std::string &  OriginalSource  )  [pure virtual]

void gpucalc::Object::unlock (  )  [inline, protected, inherited]

Definition at line 271 of file object.h.

00272    {
00273     mIsLocked = false;
00274    }


The documentation for this class was generated from the following file:

Generated on Thu Mar 5 22:36:47 2009 for gpucalc by  doxygen 1.5.6