debugger_client.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 2006-2008 The FLWOR Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  * 
00008  * http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 #ifndef XQP_ZORBA_DEBUGGER_CLIENT_H
00017 #define XQP_ZORBA_DEBUGGER_CLIENT_H
00018 
00019 #include <zorba/api_shared_types.h>
00020 
00021 namespace zorba{
00022 
00023   class ZorbaDebuggerClient{
00024 
00025     public:
00026 
00027       virtual ~ZorbaDebuggerClient(){}
00028 
00029       static ZorbaDebuggerClient *
00030       createClient( unsigned short aRequestPortno, unsigned short aEventPortno );
00031 
00032       virtual bool
00033       isQueryRunning() const = 0;
00034 
00035       virtual bool
00036       isQueryIdle() const = 0;
00037 
00038       virtual bool
00039       isQuerySuspended() const = 0;
00040 
00041       virtual bool
00042       isQueryTerminated() const = 0;
00043 
00044       virtual void
00045       run() = 0;
00046 
00047       virtual void
00048       suspend() = 0;
00049 
00050       virtual void
00051       resume() = 0;
00052 
00053       virtual void
00054       terminate() = 0;
00055 
00056       virtual void
00057       stepInto() = 0;
00058 
00059       virtual void
00060       stepOut() = 0;
00061 
00062       virtual void
00063       stepOver() = 0;
00064 
00065       virtual void
00066       addBreakpoint( const String & aFileName, const unsigned int aLineNo ) = 0;
00067 
00068       virtual void
00069       addBreakpoint( const unsigned int aLineNo ) = 0;
00070 
00071       virtual void
00072       clearBreakpoint( const String & aFileName, const unsigned int aLineNo ) = 0;
00073 
00074       virtual String
00075       getFileName() const = 0;
00076 
00077       virtual unsigned int
00078       getLineNo() const = 0;
00079   };
00080 
00081 
00082 }//end of namespace
00083 #endif