summaryrefslogtreecommitdiff
path: root/desktop/source/deployment/dp_persmap.cxx
diff options
context:
space:
mode:
authorVladimir Glazounov <vg@openoffice.org>2007-01-18 13:52:43 +0000
committerVladimir Glazounov <vg@openoffice.org>2007-01-18 13:52:43 +0000
commitd4fabe9c02fcade99043aac360fd001299fb9d2c (patch)
tree6e69b98e198cce713606c44eed6d7526a5f6c0e6 /desktop/source/deployment/dp_persmap.cxx
parenta4dc5956fc847fbeaf642f471c8587375b2fb973 (diff)
INTEGRATION: CWS sb66 (1.2.4); FILE MERGED
2007/01/04 09:51:15 sb 1.2.4.1: #i69910# Adapted to unique extension identifiers.
Diffstat (limited to 'desktop/source/deployment/dp_persmap.cxx')
-rw-r--r--desktop/source/deployment/dp_persmap.cxx66
1 files changed, 20 insertions, 46 deletions
diff --git a/desktop/source/deployment/dp_persmap.cxx b/desktop/source/deployment/dp_persmap.cxx
index 50b57e8987e0..f3b80fc614e2 100644
--- a/desktop/source/deployment/dp_persmap.cxx
+++ b/desktop/source/deployment/dp_persmap.cxx
@@ -4,9 +4,9 @@
*
* $RCSfile: dp_persmap.cxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: ihi $ $Date: 2006-12-20 14:20:55 $
+ * last change: $Author: vg $ $Date: 2007-01-18 14:52:43 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -152,16 +152,15 @@ PersistentMap::PersistentMap()
}
//______________________________________________________________________________
-bool PersistentMap::has( OUString const & key ) const
+bool PersistentMap::has( OString const & key ) const
{
return get( 0, key );
}
//______________________________________________________________________________
-bool PersistentMap::get( OUString * value, OUString const & key_ ) const
+bool PersistentMap::get( OString * value, OString const & key ) const
{
try {
- OString key( OUStringToOString( key_, RTL_TEXTENCODING_UTF8 ) );
Dbt dbKey( const_cast< sal_Char * >(key.getStr()), key.getLength() );
Dbt dbData;
int err = m_db.get( 0, &dbKey, &dbData, 0 );
@@ -169,9 +168,9 @@ bool PersistentMap::get( OUString * value, OUString const & key_ ) const
return false;
if (err == 0) {
if (value != 0) {
- *value = OUString(
+ *value = OString(
static_cast< sal_Char const * >(dbData.get_data()),
- dbData.get_size(), RTL_TEXTENCODING_UTF8 );
+ dbData.get_size() );
}
return true;
}
@@ -184,56 +183,33 @@ bool PersistentMap::get( OUString * value, OUString const & key_ ) const
}
//______________________________________________________________________________
-bool PersistentMap::put(
- OUString const & key_, OUString & value_, bool overwrite,
- bool flush_immediately )
+void PersistentMap::put( OString const & key, OString const & value )
{
try {
- OString key( OUStringToOString( key_, RTL_TEXTENCODING_UTF8 ) );
Dbt dbKey( const_cast< sal_Char * >(key.getStr()), key.getLength() );
- OString value( OUStringToOString( value_, RTL_TEXTENCODING_UTF8 ) );
Dbt dbData( const_cast< sal_Char * >(
value.getStr()), value.getLength() );
- int err = m_db.put(
- 0, &dbKey, &dbData, overwrite ? 0 : DB_NOOVERWRITE );
+ int err = m_db.put( 0, &dbKey, &dbData, 0 );
if (err == 0) {
#if OSL_DEBUG_LEVEL > 0
OUString v;
- OSL_ASSERT( get( &v, key_ ) );
- OSL_ASSERT( v.equals( value_ ) );
+ OSL_ASSERT( get( &v, key ) );
+ OSL_ASSERT( v.equals( value ) );
#endif
- if (flush_immediately) {
- err = m_db.sync(0);
- if (err != 0)
- throw_rtexc(err);
- }
- return true;
- }
- if (err == DB_KEYEXIST) {
- OSL_ASSERT( ! overwrite );
- err = m_db.get( 0, &dbKey, &dbData, 0 );
- OSL_ASSERT( err == 0 );
- if (err == 0)
- {
- value_ = OUString(
- static_cast< sal_Char const * >(dbData.get_data()),
- dbData.get_size(), RTL_TEXTENCODING_UTF8 );
- }
- return false;
+ err = m_db.sync(0);
}
- throw_rtexc(err);
+ if (err != 0)
+ throw_rtexc(err);
}
catch (DbException & exc) {
throw_rtexc( exc.get_errno(), exc.what() );
}
- return false; // avoiding warning
}
//______________________________________________________________________________
-bool PersistentMap::erase( OUString const & key_, bool flush_immediately )
+bool PersistentMap::erase( OString const & key, bool flush_immediately )
{
try {
- OString key( OUStringToOString( key_, RTL_TEXTENCODING_UTF8 ) );
Dbt dbKey( const_cast< sal_Char * >(key.getStr()), key.getLength() );
int err = m_db.del( &dbKey, 0 );
if (err == 0) {
@@ -275,14 +251,12 @@ t_string2string_map PersistentMap::getEntries() const
::std::pair<t_string2string_map::iterator, bool > insertion(
ret.insert( t_string2string_map::value_type(
t_string2string_map::value_type(
- OUString( static_cast< sal_Char const * >(
- dbKey.get_data()),
- dbKey.get_size(),
- RTL_TEXTENCODING_UTF8 ),
- OUString( static_cast< sal_Char const * >(
- dbData.get_data()),
- dbData.get_size(),
- RTL_TEXTENCODING_UTF8 ) ) ) ) );
+ OString( static_cast< sal_Char const * >(
+ dbKey.get_data()),
+ dbKey.get_size() ),
+ OString( static_cast< sal_Char const * >(
+ dbData.get_data()),
+ dbData.get_size() ) ) ) ) );
OSL_ASSERT( insertion.second );
}
err = pcurs->close();