1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 #ifndef _BASICRT_HXX 28 #define _BASICRT_HXX 29 30 #include <tools/string.hxx> 31 #include <basic/sbxdef.hxx> 32 33 class SbiRuntime; 34 class SbErrorStackEntry; 35 36 class BasicRuntime 37 { 38 SbiRuntime* pRun; 39 public: 40 BasicRuntime( SbiRuntime* p ) : pRun ( p ){;} 41 const String GetSourceRevision(); 42 const String GetModuleName( SbxNameType nType ); 43 const String GetMethodName( SbxNameType nType ); 44 xub_StrLen GetLine(); 45 xub_StrLen GetCol1(); 46 xub_StrLen GetCol2(); 47 sal_Bool IsRun(); 48 sal_Bool IsValid() { return pRun != NULL; } 49 BasicRuntime GetNextRuntime(); 50 }; 51 52 class BasicErrorStackEntry 53 { 54 SbErrorStackEntry *pEntry; 55 public: 56 BasicErrorStackEntry( SbErrorStackEntry *p ) : pEntry ( p ){;} 57 const String GetSourceRevision(); 58 const String GetModuleName( SbxNameType nType ); 59 const String GetMethodName( SbxNameType nType ); 60 xub_StrLen GetLine(); 61 xub_StrLen GetCol1(); 62 xub_StrLen GetCol2(); 63 }; 64 65 class BasicRuntimeAccess 66 { 67 public: 68 static BasicRuntime GetRuntime(); 69 static bool HasRuntime(); 70 static sal_uInt16 GetStackEntryCount(); 71 static BasicErrorStackEntry GetStackEntry( sal_uInt16 nIndex ); 72 static sal_Bool HasStack(); 73 static void DeleteStack(); 74 75 static sal_Bool IsRunInit(); 76 }; 77 78 #endif 79 80