1*234bd5c5SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*234bd5c5SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*234bd5c5SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*234bd5c5SAndrew Rist * distributed with this work for additional information 6*234bd5c5SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*234bd5c5SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*234bd5c5SAndrew Rist * "License"); you may not use this file except in compliance 9*234bd5c5SAndrew Rist * with the License. You may obtain a copy of the License at 10*234bd5c5SAndrew Rist * 11*234bd5c5SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*234bd5c5SAndrew Rist * 13*234bd5c5SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*234bd5c5SAndrew Rist * software distributed under the License is distributed on an 15*234bd5c5SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*234bd5c5SAndrew Rist * KIND, either express or implied. See the License for the 17*234bd5c5SAndrew Rist * specific language governing permissions and limitations 18*234bd5c5SAndrew Rist * under the License. 19*234bd5c5SAndrew Rist * 20*234bd5c5SAndrew Rist *************************************************************/ 21*234bd5c5SAndrew Rist 22*234bd5c5SAndrew Rist 23cdf0e10cSrcweir #ifndef _BASICRT_HXX 24cdf0e10cSrcweir #define _BASICRT_HXX 25cdf0e10cSrcweir 26cdf0e10cSrcweir #include <tools/string.hxx> 27cdf0e10cSrcweir #include <basic/sbxdef.hxx> 28cdf0e10cSrcweir 29cdf0e10cSrcweir class SbiRuntime; 30cdf0e10cSrcweir class SbErrorStackEntry; 31cdf0e10cSrcweir 32cdf0e10cSrcweir class BasicRuntime 33cdf0e10cSrcweir { 34cdf0e10cSrcweir SbiRuntime* pRun; 35cdf0e10cSrcweir public: BasicRuntime(SbiRuntime * p)36cdf0e10cSrcweir BasicRuntime( SbiRuntime* p ) : pRun ( p ){;} 37cdf0e10cSrcweir const String GetSourceRevision(); 38cdf0e10cSrcweir const String GetModuleName( SbxNameType nType ); 39cdf0e10cSrcweir const String GetMethodName( SbxNameType nType ); 40cdf0e10cSrcweir xub_StrLen GetLine(); 41cdf0e10cSrcweir xub_StrLen GetCol1(); 42cdf0e10cSrcweir xub_StrLen GetCol2(); 43cdf0e10cSrcweir sal_Bool IsRun(); IsValid()44cdf0e10cSrcweir sal_Bool IsValid() { return pRun != NULL; } 45cdf0e10cSrcweir BasicRuntime GetNextRuntime(); 46cdf0e10cSrcweir }; 47cdf0e10cSrcweir 48cdf0e10cSrcweir class BasicErrorStackEntry 49cdf0e10cSrcweir { 50cdf0e10cSrcweir SbErrorStackEntry *pEntry; 51cdf0e10cSrcweir public: BasicErrorStackEntry(SbErrorStackEntry * p)52cdf0e10cSrcweir BasicErrorStackEntry( SbErrorStackEntry *p ) : pEntry ( p ){;} 53cdf0e10cSrcweir const String GetSourceRevision(); 54cdf0e10cSrcweir const String GetModuleName( SbxNameType nType ); 55cdf0e10cSrcweir const String GetMethodName( SbxNameType nType ); 56cdf0e10cSrcweir xub_StrLen GetLine(); 57cdf0e10cSrcweir xub_StrLen GetCol1(); 58cdf0e10cSrcweir xub_StrLen GetCol2(); 59cdf0e10cSrcweir }; 60cdf0e10cSrcweir 61cdf0e10cSrcweir class BasicRuntimeAccess 62cdf0e10cSrcweir { 63cdf0e10cSrcweir public: 64cdf0e10cSrcweir static BasicRuntime GetRuntime(); 65cdf0e10cSrcweir static bool HasRuntime(); 66cdf0e10cSrcweir static sal_uInt16 GetStackEntryCount(); 67cdf0e10cSrcweir static BasicErrorStackEntry GetStackEntry( sal_uInt16 nIndex ); 68cdf0e10cSrcweir static sal_Bool HasStack(); 69cdf0e10cSrcweir static void DeleteStack(); 70cdf0e10cSrcweir 71cdf0e10cSrcweir static sal_Bool IsRunInit(); 72cdf0e10cSrcweir }; 73cdf0e10cSrcweir 74cdf0e10cSrcweir #endif 75cdf0e10cSrcweir 76