summaryrefslogtreecommitdiff
path: root/basic/source/basmgr
diff options
context:
space:
mode:
authorRüdiger Timm <rt@openoffice.org>2005-01-11 11:04:33 +0000
committerRüdiger Timm <rt@openoffice.org>2005-01-11 11:04:33 +0000
commit3c6d58dc4997a3d9ed247a956f63263e496b7cf9 (patch)
treed79537f0b0d28ee810b352fc57cae4ebc95fb997 /basic/source/basmgr
parent8179374ce4956f931941d177cb80af10d7dd8a09 (diff)
INTEGRATION: CWS sb19 (1.26.26); FILE MERGED
2004/12/08 10:34:26 sb 1.26.26.2: RESYNC: (1.26-1.27); FILE MERGED 2004/10/20 14:46:41 mba 1.26.26.1: #110413#: remove static BaseURL
Diffstat (limited to 'basic/source/basmgr')
-rw-r--r--basic/source/basmgr/basmgr.cxx46
1 files changed, 21 insertions, 25 deletions
diff --git a/basic/source/basmgr/basmgr.cxx b/basic/source/basmgr/basmgr.cxx
index 993d76fc1a3f..0effb6dcbe24 100644
--- a/basic/source/basmgr/basmgr.cxx
+++ b/basic/source/basmgr/basmgr.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: basmgr.cxx,v $
*
- * $Revision: 1.27 $
+ * $Revision: 1.28 $
*
- * last change: $Author: hr $ $Date: 2004-11-09 12:24:19 $
+ * last change: $Author: rt $ $Date: 2005-01-11 12:04:33 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -696,7 +696,7 @@ void BasicLibInfo::CalcRelStorageName( const String& rMgrStorageName )
SetRelStorageName( String() );
}
-BasicManager::BasicManager( SotStorage& rStorage, StarBASIC* pParentFromStdLib, String* pLibPath )
+BasicManager::BasicManager( SotStorage& rStorage, const String& rBaseURL, StarBASIC* pParentFromStdLib, String* pLibPath )
{
DBG_CTOR( BasicManager, 0 );
@@ -718,7 +718,7 @@ BasicManager::BasicManager( SotStorage& rStorage, StarBASIC* pParentFromStdLib,
// Aktionen noetig.
if ( rStorage.IsStream( ManagerStreamName ) )
{
- LoadBasicManager( rStorage );
+ LoadBasicManager( rStorage, rBaseURL );
// StdLib erhaelt gewuenschten Parent:
StarBASIC* pStdLib = GetStdLib();
DBG_ASSERT( pStdLib, "Standard-Lib nicht geladen?" );
@@ -935,13 +935,13 @@ BOOL BasicManager::HasBasicManager( const SotStorage& rStorage )
return rStorage.IsStream( ManagerStreamName );
}
-BOOL BasicManager::HasBasicWithModules( const SotStorage& rStorage )
+BOOL BasicManager::HasBasicWithModules( const SotStorage& rStorage, const String& rBaseURL )
{
if( !rStorage.IsStream( ManagerStreamName ) )
return FALSE;
StarBASIC* pDummyParentBasic = new StarBASIC();
- BasicManager* pBasMgr = new BasicManager( (SotStorage&)rStorage, pDummyParentBasic );
+ BasicManager* pBasMgr = new BasicManager( (SotStorage&)rStorage, rBaseURL, pDummyParentBasic );
BOOL bRet = FALSE;
USHORT nLibs = pBasMgr->GetLibCount();
@@ -1001,7 +1001,7 @@ void BasicManager::ImpCreateStdLib( StarBASIC* pParentFromStdLib )
}
-void BasicManager::LoadBasicManager( SotStorage& rStorage, BOOL bLoadLibs )
+void BasicManager::LoadBasicManager( SotStorage& rStorage, const String& rBaseURL, BOOL bLoadLibs )
{
DBG_CHKTHIS( BasicManager, 0 );
@@ -1025,10 +1025,10 @@ void BasicManager::LoadBasicManager( SotStorage& rStorage, BOOL bLoadLibs )
String aRealStorageName = aStorageName; // fuer relative Pfade, kann durch BaseURL umgebogen werden.
// Wenn aus Vorlagen geladen wird, gilt nur die BaseURL:
- String aBaseURL = INetURLObject::GetBaseURL();
- if ( aBaseURL.Len() )
+ //String aBaseURL = INetURLObject::GetBaseURL();
+ if ( rBaseURL.Len() )
{
- INetURLObject aObj( aBaseURL );
+ INetURLObject aObj( rBaseURL );
if ( aObj.GetProtocol() == INET_PROT_FILE )
aRealStorageName = aObj.PathToFileName();
}
@@ -1221,7 +1221,7 @@ BasicLibInfo* BasicManager::CreateLibInfo()
return pInf;
}
-BOOL BasicManager::CopyBasicData( SotStorage* pStorFrom, const String& rSourceURL, SotStorage* pStorTo )
+BOOL BasicManager::CopyBasicData( SotStorage* pStorFrom, const String& rSourceURL, const String& rBaseURL, SotStorage* pStorTo )
{
/*-----------------------------------------------------------------
Diese Methode wird vom SXF gerufen bei 'Datei speichern unter',
@@ -1240,27 +1240,23 @@ BOOL BasicManager::CopyBasicData( SotStorage* pStorFrom, const String& rSourceUR
// bOk = pStorFrom->CopyTo( szManagerStream, pStorTo, szManagerStream );
BasicManager aBasMgr;
// Die aktuelle Base-URL ist die vom speichern...
- String aOldURL = INetURLObject::GetBaseURL();
- if ( rSourceURL.Len() )
- INetURLObject::SetBaseURL( rSourceURL );
String aStorName( pStorFrom->GetName() );
DBG_ASSERT( aStorName.Len(), "No Storage Name!" );
- aBasMgr.LoadBasicManager( *pStorFrom, FALSE );
- INetURLObject::SetBaseURL( aOldURL );
- aBasMgr.Store( *pStorTo, FALSE );
+ aBasMgr.LoadBasicManager( *pStorFrom, rSourceURL, FALSE );
+ aBasMgr.Store( *pStorTo, rBaseURL, FALSE );
}
}
return bOk;
}
-void BasicManager::Merge( SotStorage& rFromStorage )
+void BasicManager::Merge( SotStorage& rFromStorage, const String& rBaseURL )
{
String aStorName( rFromStorage.GetName() );
DBG_ASSERT( aStorName.Len(), "No Storage Name!" );
- BasicManager aTmpMgr( rFromStorage, NULL, &pLibs->aBasicLibPath );
+ BasicManager aTmpMgr( rFromStorage, rBaseURL, NULL, &pLibs->aBasicLibPath );
USHORT nLibs = aTmpMgr.GetLibCount();
for ( USHORT nL = 1 /* ohne STANDARD */; nL < nLibs; nL++ )
{
@@ -1291,12 +1287,12 @@ void BasicManager::Merge( SotStorage& rFromStorage )
}
}
-void BasicManager::Store( SotStorage& rStorage )
+void BasicManager::Store( SotStorage& rStorage, const String& rBaseURL )
{
- Store( rStorage, TRUE );
+ Store( rStorage, rBaseURL, TRUE );
}
-void BasicManager::Store( SotStorage& rStorage, BOOL bStoreLibs )
+void BasicManager::Store( SotStorage& rStorage, const String& rBaseURL, BOOL bStoreLibs )
{
// #91626
sal_Bool bModified = mpImpl->mbModifiedByLibraryContainer || mpImpl->mbError;
@@ -1465,10 +1461,10 @@ void BasicManager::Store( SotStorage& rStorage, BOOL bStoreLibs )
// Falls ins Temp-Verzeichniss gesichert wird, sollte der richtige
// Storage-Name an der globalen URL haengen...
- String aBaseURL = INetURLObject::GetBaseURL();
- if ( aBaseURL.Len() )
+ //String aBaseURL = INetURLObject::GetBaseURL();
+ if ( rBaseURL.Len() )
{
- INetURLObject aObj( aBaseURL );
+ INetURLObject aObj( rBaseURL );
if ( aObj.GetProtocol() == INET_PROT_FILE )
aStrgName = aObj.PathToFileName();
}