19#ifndef INCLUDED_BASIC_BASMGR_HXX
20#define INCLUDED_BASIC_BASMGR_HXX
31namespace basic {
class SfxScriptLibraryContainer; }
70namespace basic {
class ImplRepository; }
74 css::uno::Reference< css::script::XPersistentLibraryContainer >
mxScriptCont;
75 css::uno::Reference< css::script::XPersistentLibraryContainer >
mxDialogCont;
85 css::uno::Reference< css::script::XPersistentLibraryContainer > xScriptCont,
86 css::uno::Reference< css::script::XPersistentLibraryContainer > xDialogCont,
95#define LIB_NOTFOUND 0xFFFF
102 friend class ::basic::ImplRepository;
112 std::vector<std::unique_ptr<BasicLibInfo>>
maLibs;
116 void ImpCreateStdLib(
StarBASIC* pParentFromStdLib );
117 void ImpMgrNotLoaded(
const OUString& rStorageName );
119 void LoadBasicManager(
SotStorage& rStorage, std::u16string_view rBaseURL );
120 void LoadOldBasicManager(
SotStorage& rStorage );
122 static bool ImplEncryptStream(
SvStream& rStream );
124 static void CheckModules(
StarBASIC* pBasic,
bool bReference );
127 BasicManager(
SotStorage& rStorage, std::u16string_view rBaseURL,
StarBASIC* pParentFromStdLib =
nullptr, OUString
const * pLibPath =
nullptr,
bool bDocMgr =
false );
138 sal_uInt16 GetLibCount()
const;
139 StarBASIC* GetLib( sal_uInt16 nLib )
const;
140 StarBASIC* GetLib( std::u16string_view rName )
const;
141 sal_uInt16 GetLibId( std::u16string_view rName )
const;
143 OUString GetLibName( sal_uInt16 nLib );
152 const css::uno::Reference< css::script::XPersistentLibraryContainer >&
153 GetDialogLibraryContainer()
const;
154 const css::uno::Reference< css::script::XPersistentLibraryContainer >&
155 GetScriptLibraryContainer()
const;
157 bool LoadLib( sal_uInt16 nLib );
158 bool RemoveLib( sal_uInt16 nLib,
bool bDelBasicFromStorage );
161 bool IsBasicModified()
const;
170 void SetGlobalUNOConstant(
const OUString& rName,
const css::uno::Any& _rValue, css::uno::Any* pOldValue =
nullptr );
173 bool GetGlobalUNOConstant(
const OUString& rName, css::uno::Any& aOut );
179 bool ImgVersion12PsswdBinaryLimitExceeded( std::vector< OUString >& _out_rModuleNames );
180 bool HasExeCode( std::u16string_view );
182 bool HasMacro( OUString
const& i_fullyQualifiedName )
const;
186 ErrCode ExecuteMacro( OUString
const& i_fullyQualifiedName, std::u16string_view i_commaSeparatedArgs,
SbxValue* i_retValue );
197 const css::uno::Reference< css::script::XLibraryContainer >& xScriptCont );
201 const OUString& LinkTargetURL );
BASIC_DLLPUBLIC css::uno::Reference< css::script::XStarBasicAccess > getStarBasicAccess(BasicManager *pMgr)
BasicError(const BasicError &rErr)
ErrCode const & GetErrorId() const
std::vector< BasicError > & GetErrors()
const OUString & GetStorageName() const
BasicManager(BasicManager const &)=delete
BasicManager & operator=(BasicManager const &)=delete
void SetName(const OUString &rName)
const OUString & GetName() const
LibraryContainerInfo maContainerInfo
std::vector< BasicError > aErrors
void SetStorageName(const OUString &rName)
std::vector< std::unique_ptr< BasicLibInfo > > maLibs
css::uno::Reference< css::script::XPersistentLibraryContainer > mxDialogCont
LibraryContainerInfo(css::uno::Reference< css::script::XPersistentLibraryContainer > xScriptCont, css::uno::Reference< css::script::XPersistentLibraryContainer > xDialogCont, basic::SfxScriptLibraryContainer *pOldBasicPassword)
basic::SfxScriptLibraryContainer * mpOldBasicPassword
css::uno::Reference< css::script::XPersistentLibraryContainer > mxScriptCont