summaryrefslogtreecommitdiff
path: root/scripting/source/storage/ScriptStorage.cxx
diff options
context:
space:
mode:
authorDuncan Foster <dfoster@openoffice.org>2002-10-17 09:04:15 +0000
committerDuncan Foster <dfoster@openoffice.org>2002-10-17 09:04:15 +0000
commit6e48dbd7f1e876cad5e43a7457ec74fa109a49f4 (patch)
treedc1f004f647558eec72d1223b5bbc9007fa133c8 /scripting/source/storage/ScriptStorage.cxx
parentfb95302db582c9d60e11b47f364a385c05ded4fd (diff)
Change of scriptStorageID from unsigned short to signed long
Chnage of ScriptImplInfo IDL defined struct to ScriptData, local struct.
Diffstat (limited to 'scripting/source/storage/ScriptStorage.cxx')
-rw-r--r--scripting/source/storage/ScriptStorage.cxx70
1 files changed, 31 insertions, 39 deletions
diff --git a/scripting/source/storage/ScriptStorage.cxx b/scripting/source/storage/ScriptStorage.cxx
index a9e13b4304..0ba018e710 100644
--- a/scripting/source/storage/ScriptStorage.cxx
+++ b/scripting/source/storage/ScriptStorage.cxx
@@ -2,8 +2,8 @@
*
* $RCSfile: ScriptStorage.cxx,v $
*
-* $Revision: 1.9 $
-* last change: $Author: npower $ $Date: 2002-10-16 08:33:26 $
+* $Revision: 1.10 $
+* last change: $Author: dfoster $ $Date: 2002-10-17 10:04:13 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -65,13 +65,13 @@
#include <com/sun/star/io/XActiveDataSource.hpp>
#include <com/sun/star/xml/sax/XExtendedDocumentHandler.hpp>
-#include <drafts/com/sun/star/script/framework/storage/ScriptImplInfo.hpp>
#include <util/util.hxx>
+#include "ScriptData.hxx"
#include "ScriptInfo.hxx"
#include "ScriptStorage.hxx"
-#include "ScriptMetadataImporter.hxx"
#include "ScriptElement.hxx"
+#include "ScriptMetadataImporter.hxx"
using namespace ::rtl;
using namespace ::cppu;
@@ -242,10 +242,10 @@ throw ( RuntimeException, Exception )
}
OSL_TRACE( "Parse the metadata \n" );
- Impls_vec vScriptImplInfos;
+ Datas_vec vScriptDatas;
try
{
- vScriptImplInfos = SMI->parseMetaData( xInput, parcelDirs[ j ] );
+ SMI->parseMetaData( xInput, parcelDirs[ j ], vScriptDatas );
}
catch ( xml::sax::SAXException saxe )
{
@@ -267,7 +267,7 @@ throw ( RuntimeException, Exception )
}
xInput->closeInput();
- updateMaps( vScriptImplInfos );
+ updateMaps( vScriptDatas );
}
}
}
@@ -320,20 +320,20 @@ throw ( RuntimeException, Exception )
//*************************************************************************
// private method for updating hashmaps
void
-ScriptStorage::updateMaps( const Impls_vec & vScriptImplInfos )
+ScriptStorage::updateMaps( const Datas_vec & vScriptDatas )
{
::osl::Guard< osl::Mutex > aGuard( m_mutex );
- Impls_vec::const_iterator it_end = vScriptImplInfos.end();
+ Datas_vec::const_iterator it_end = vScriptDatas.end();
// step through the vector of ScripImplInfos returned from parse
- for ( Impls_vec::const_iterator it = vScriptImplInfos.begin() ; it != it_end; ++it )
+ for ( Datas_vec::const_iterator it = vScriptDatas.begin() ; it != it_end; ++it )
{
- //find the Impls_vec for this logical name
+ //find the Datas_vec for this logical name
ScriptInfo_hash::iterator h_it = mh_implementations.find( it->logicalName );
if ( h_it == mh_implementations.end() )
{
- //if it's null, need to create a new Impls_vec
+ //if it's null, need to create a new Datas_vec
#ifdef _DEBUG
fprintf( stderr,
"updateMaps: new logical name: %s\n", rtl::OUStringToOString(
@@ -343,7 +343,7 @@ ScriptStorage::updateMaps( const Impls_vec & vScriptImplInfos )
it->functionName, RTL_TEXTENCODING_ASCII_US ).pData->buffer );
#endif
- Impls_vec v;
+ Datas_vec v;
v.push_back( *it );
mh_implementations[ it->logicalName ] = v;
}
@@ -380,21 +380,21 @@ throw ( RuntimeException )
for ( ScriptInfo_hash::iterator it = mh_implementations.begin() ; it != it_end; ++it )
{
::rtl::OUString logName = it->first;
- Impls_vec::iterator it_impls_end = it->second.end();
- for ( Impls_vec::iterator it_impls = it->second.begin();
- it_impls != it_impls_end ; ++it_impls )
+ Datas_vec::iterator it_datas_end = it->second.end();
+ for ( Datas_vec::iterator it_datas = it->second.begin();
+ it_datas != it_datas_end ; ++it_datas )
{
ScriptOutput_hash::const_iterator it_parcels =
- mh_parcels.find( it_impls->parcelURI );
+ mh_parcels.find( it_datas->parcelURI );
if ( it_parcels == mh_parcels.end() )
{
//create new outputstream
- OUString parcel_xml_path = it_impls->parcelURI.concat( parcel_suffix );
+ OUString parcel_xml_path = it_datas->parcelURI.concat( parcel_suffix );
m_xSimpleFileAccess->kill( parcel_xml_path );
xOS = m_xSimpleFileAccess->openFileWrite( parcel_xml_path );
#ifdef _DEBUG
- fprintf( stderr, "saving: %s\n", rtl::OUStringToOString( it_impls->parcelURI.concat( OUString::createFromAscii( "/parcel.xml" ) ), RTL_TEXTENCODING_ASCII_US ).pData->buffer );
+ fprintf( stderr, "saving: %s\n", rtl::OUStringToOString( it_datas->parcelURI.concat( OUString::createFromAscii( "/parcel.xml" ) ), RTL_TEXTENCODING_ASCII_US ).pData->buffer );
#endif
Reference< XInterface > xInterface =
@@ -413,14 +413,14 @@ throw ( RuntimeException )
xHandler->startElement( ou_parcel,
Reference< xml::sax::XAttributeList >() );
- mh_parcels[ it_impls->parcelURI ] = xHandler;
+ mh_parcels[ it_datas->parcelURI ] = xHandler;
}
else
{
xHandler = it_parcels->second;
}
- ScriptElement* pSE = new ScriptElement( *it_impls );
+ ScriptElement* pSE = new ScriptElement( *it_datas );
// this is to get pSE released correctly
Reference <xml::sax::XAttributeList> xal( pSE );
pSE->dump( xHandler );
@@ -492,22 +492,12 @@ throw ( RuntimeException )
//Get array of XScriptInfos
// Reference< storage::XScriptInfo >* pScriptInfo = sr_xScriptInfo.getArray();
- Impls_vec::const_iterator end_iter = h_iter->second.end();
+ Datas_vec::const_iterator end_iter = h_iter->second.end();
sal_Int32 count = 0;
- for ( Impls_vec::const_iterator it = h_iter->second.begin(); it != end_iter; ++it )
+ for ( Datas_vec::const_iterator it = h_iter->second.begin(); it != end_iter; ++it )
{
- Any a( makeAny( *it ) );
- Reference< XInterface > xInterface =
- m_xMgr->createInstanceWithArgumentsAndContext(
- OUString::createFromAscii(
- "drafts.com.sun.star.script.framework.storage.ScriptInfo" ),
- Sequence< Any >( &a, 1 ), m_xContext );
- validateXRef( xInterface,
- "ScriptStorage::getScriptInfoService: cannot get drafts.com.sun.star.script.framework.storage.ScriptInfo" );
- // pScriptInfo[ count ] = Reference< storage::XScriptInfo >(xInterface,
- // UNO_QUERY_THROW );
- sr_xScriptInfo[ count ] = Reference< storage::XScriptInfo >( xInterface,
- UNO_QUERY_THROW );
+ sr_xScriptInfo[ count ] = Reference< storage::XScriptInfo >(
+ new ScriptInfo( m_xContext, *it, m_scriptStorageID ) );
count++;
}
}
@@ -601,12 +591,14 @@ throw ( lang::IllegalArgumentException,
::osl::Guard< osl::Mutex > aGuard( m_mutex );
- Impls_vec::const_iterator it_impls = h_it->second.begin();
- Impls_vec::const_iterator it_impls_end = h_it->second.end();
- for ( sal_Int32 count = 0; it_impls != it_impls_end ; ++it_impls )
+ Datas_vec::const_iterator it_datas = h_it->second.begin();
+ Datas_vec::const_iterator it_datas_end = h_it->second.end();
+ for ( sal_Int32 count = 0; it_datas != it_datas_end ; ++it_datas )
{
Sequence<Any> aArgs( 2 );
- aArgs[ 0 ] <<= *it_impls;
+ Reference< storage::XScriptInfo > xScriptInfo = new ScriptInfo ( m_xContext, *it_datas, m_scriptStorageID );
+
+ aArgs[ 0 ] <<= xScriptInfo;
aArgs[ 1 ] <<= m_scriptStorageID;
Reference< XInterface > xInterface =