new loplugin: useuniqueptr: helpcompiler..io
Change-Id: I6b394163c144e6b5540cb160abb613d56fe327de Reviewed-on: https://gerrit.libreoffice.org/33165 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
This commit is contained in:
parent
a9367c1b39
commit
7a60e90ef0
@ -61,7 +61,6 @@ public:
|
|||||||
{}
|
{}
|
||||||
~HelpLinker()
|
~HelpLinker()
|
||||||
{
|
{
|
||||||
delete m_pIndexerPreProcessor;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -82,7 +81,7 @@ private:
|
|||||||
std::string extensionDestination;
|
std::string extensionDestination;
|
||||||
bool bExtensionMode;
|
bool bExtensionMode;
|
||||||
fs::path indexDirParentName;
|
fs::path indexDirParentName;
|
||||||
IndexerPreProcessor* m_pIndexerPreProcessor;
|
std::unique_ptr<IndexerPreProcessor> m_pIndexerPreProcessor;
|
||||||
bool m_bUseLangRoot;
|
bool m_bUseLangRoot;
|
||||||
bool m_bCreateIndex;
|
bool m_bCreateIndex;
|
||||||
void initIndexerPreProcessor();
|
void initIndexerPreProcessor();
|
||||||
|
@ -266,9 +266,8 @@ void HelpLinker::addBookmark( FILE* pFile_DBHelp, std::string thishid,
|
|||||||
|
|
||||||
void HelpLinker::initIndexerPreProcessor()
|
void HelpLinker::initIndexerPreProcessor()
|
||||||
{
|
{
|
||||||
delete m_pIndexerPreProcessor;
|
m_pIndexerPreProcessor.reset( new IndexerPreProcessor( indexDirParentName,
|
||||||
m_pIndexerPreProcessor = new IndexerPreProcessor( indexDirParentName,
|
idxCaptionStylesheet, idxContentStylesheet ) );
|
||||||
idxCaptionStylesheet, idxContentStylesheet );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -85,7 +85,6 @@ SkipData::SkipData(hchar hch)
|
|||||||
|
|
||||||
SkipData::~SkipData()
|
SkipData::~SkipData()
|
||||||
{
|
{
|
||||||
delete[]data_block;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
#include <sal/config.h>
|
#include <sal/config.h>
|
||||||
|
|
||||||
#include <list>
|
#include <list>
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
#include <sal/types.h>
|
#include <sal/types.h>
|
||||||
|
|
||||||
@ -73,7 +74,7 @@ struct SkipData: public HBox
|
|||||||
{
|
{
|
||||||
uint data_block_len;
|
uint data_block_len;
|
||||||
hchar dummy;
|
hchar dummy;
|
||||||
char *data_block;
|
std::unique_ptr<char[]> data_block;
|
||||||
|
|
||||||
explicit SkipData(hchar);
|
explicit SkipData(hchar);
|
||||||
virtual ~SkipData() override;
|
virtual ~SkipData() override;
|
||||||
@ -385,27 +386,26 @@ struct TxtBox: public FBox
|
|||||||
|
|
||||||
struct Columns
|
struct Columns
|
||||||
{
|
{
|
||||||
int *data;
|
std::unique_ptr<int[]> data;
|
||||||
size_t nCount;
|
size_t nCount;
|
||||||
size_t nTotal;
|
size_t nTotal;
|
||||||
Columns(){
|
Columns(){
|
||||||
nCount = 0;
|
nCount = 0;
|
||||||
nTotal = INIT_SIZE;
|
nTotal = INIT_SIZE;
|
||||||
data = new int[nTotal];
|
data.reset(new int[nTotal]);
|
||||||
}
|
}
|
||||||
~Columns(){ delete[] data; }
|
~Columns() {}
|
||||||
|
|
||||||
void AddColumnsSize(){
|
void AddColumnsSize(){
|
||||||
int *tmp = data;
|
|
||||||
if (nTotal + ADD_AMOUNT < nTotal) // overflow
|
if (nTotal + ADD_AMOUNT < nTotal) // overflow
|
||||||
{
|
{
|
||||||
throw ::std::bad_alloc();
|
throw ::std::bad_alloc();
|
||||||
}
|
}
|
||||||
data = new int[nTotal + ADD_AMOUNT];
|
int* tmp = new int[nTotal + ADD_AMOUNT];
|
||||||
for (size_t i = 0 ; i < nTotal ; i++)
|
for (size_t i = 0 ; i < nTotal ; i++)
|
||||||
data[i] = tmp[i];
|
tmp[i] = data[i];
|
||||||
nTotal += ADD_AMOUNT;
|
nTotal += ADD_AMOUNT;
|
||||||
delete[] tmp;
|
data.reset(tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
void insert(int pos){
|
void insert(int pos){
|
||||||
@ -446,27 +446,26 @@ struct Columns
|
|||||||
|
|
||||||
struct Rows
|
struct Rows
|
||||||
{
|
{
|
||||||
int *data;
|
std::unique_ptr<int[]> data;
|
||||||
size_t nCount;
|
size_t nCount;
|
||||||
size_t nTotal;
|
size_t nTotal;
|
||||||
Rows(){
|
Rows(){
|
||||||
nCount = 0;
|
nCount = 0;
|
||||||
nTotal = INIT_SIZE;
|
nTotal = INIT_SIZE;
|
||||||
data = new int[nTotal];
|
data.reset( new int[nTotal] );
|
||||||
}
|
}
|
||||||
~Rows(){ delete[] data; }
|
~Rows() {}
|
||||||
|
|
||||||
void AddRowsSize(){
|
void AddRowsSize(){
|
||||||
int *tmp = data;
|
|
||||||
if (nTotal + ADD_AMOUNT < nTotal) // overflow
|
if (nTotal + ADD_AMOUNT < nTotal) // overflow
|
||||||
{
|
{
|
||||||
throw ::std::bad_alloc();
|
throw ::std::bad_alloc();
|
||||||
}
|
}
|
||||||
data = new int[nTotal + ADD_AMOUNT];
|
int* tmp = new int[nTotal + ADD_AMOUNT];
|
||||||
for (size_t i = 0 ; i < nTotal ; i++)
|
for (size_t i = 0 ; i < nTotal ; i++)
|
||||||
data[i] = tmp[i];
|
tmp[i] = data[i];
|
||||||
nTotal += ADD_AMOUNT;
|
nTotal += ADD_AMOUNT;
|
||||||
delete[] tmp;
|
data.reset(tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
void insert(int pos){
|
void insert(int pos){
|
||||||
|
@ -52,9 +52,9 @@ bool SkipData::Read(HWPFile & hwpf)
|
|||||||
return hwpf.SetState(HWP_InvalidFileFormat);
|
return hwpf.SetState(HWP_InvalidFileFormat);
|
||||||
}
|
}
|
||||||
|
|
||||||
data_block = new char[data_block_len];
|
data_block.reset(new char[data_block_len]);
|
||||||
|
|
||||||
return hwpf.Read1b(data_block, data_block_len);
|
return hwpf.Read1b(data_block.get(), data_block_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -25,6 +25,8 @@
|
|||||||
#include <unicode/calendar.h>
|
#include <unicode/calendar.h>
|
||||||
#include <rtl/ref.hxx>
|
#include <rtl/ref.hxx>
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
|
|
||||||
// class Calendar_gregorian
|
// class Calendar_gregorian
|
||||||
|
|
||||||
@ -97,7 +99,7 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
const Era *eraArray;
|
const Era *eraArray;
|
||||||
icu::Calendar *body;
|
std::unique_ptr<icu::Calendar> body;
|
||||||
rtl::Reference<NativeNumberSupplierService> mxNatNum;
|
rtl::Reference<NativeNumberSupplierService> mxNatNum;
|
||||||
const sal_Char* cCalendar;
|
const sal_Char* cCalendar;
|
||||||
css::lang::Locale aLocale;
|
css::lang::Locale aLocale;
|
||||||
|
@ -29,6 +29,8 @@
|
|||||||
|
|
||||||
#include <transliterationImpl.hxx>
|
#include <transliterationImpl.hxx>
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
namespace com { namespace sun { namespace star { namespace i18n {
|
namespace com { namespace sun { namespace star { namespace i18n {
|
||||||
|
|
||||||
class DefaultNumberingProvider : public cppu::WeakImplHelper
|
class DefaultNumberingProvider : public cppu::WeakImplHelper
|
||||||
@ -83,7 +85,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
css::uno::Reference < css::uno::XComponentContext > m_xContext;
|
css::uno::Reference < css::uno::XComponentContext > m_xContext;
|
||||||
css::uno::Reference < css::container::XHierarchicalNameAccess > xHierarchicalNameAccess;
|
css::uno::Reference < css::container::XHierarchicalNameAccess > xHierarchicalNameAccess;
|
||||||
TransliterationImpl* translit;
|
std::unique_ptr<TransliterationImpl> translit;
|
||||||
OUString SAL_CALL makeNumberingIdentifier( sal_Int16 index )
|
OUString SAL_CALL makeNumberingIdentifier( sal_Int16 index )
|
||||||
throw(css::uno::RuntimeException, std::exception);
|
throw(css::uno::RuntimeException, std::exception);
|
||||||
bool SAL_CALL isScriptFlagEnabled(const OUString& aName )
|
bool SAL_CALL isScriptFlagEnabled(const OUString& aName )
|
||||||
|
@ -25,6 +25,8 @@
|
|||||||
#include <com/sun/star/lang/XServiceInfo.hpp>
|
#include <com/sun/star/lang/XServiceInfo.hpp>
|
||||||
#include <collatorImpl.hxx>
|
#include <collatorImpl.hxx>
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
namespace com { namespace sun { namespace star { namespace i18n {
|
namespace com { namespace sun { namespace star { namespace i18n {
|
||||||
|
|
||||||
|
|
||||||
@ -90,7 +92,8 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
const sal_Char * implementationName;
|
const sal_Char * implementationName;
|
||||||
bool usePhonetic;
|
bool usePhonetic;
|
||||||
CollatorImpl* collator;
|
std::unique_ptr<CollatorImpl>
|
||||||
|
collator;
|
||||||
css::lang::Locale aLocale;
|
css::lang::Locale aLocale;
|
||||||
OUString aAlgorithm;
|
OUString aAlgorithm;
|
||||||
|
|
||||||
|
@ -21,6 +21,8 @@
|
|||||||
|
|
||||||
#include <indexentrysupplier_common.hxx>
|
#include <indexentrysupplier_common.hxx>
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
namespace com { namespace sun { namespace star { namespace i18n {
|
namespace com { namespace sun { namespace star { namespace i18n {
|
||||||
|
|
||||||
class Index;
|
class Index;
|
||||||
@ -53,7 +55,7 @@ public:
|
|||||||
throw (css::uno::RuntimeException, std::exception) override;
|
throw (css::uno::RuntimeException, std::exception) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Index *index;
|
std::unique_ptr<Index> index;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct IndexKey {
|
struct IndexKey {
|
||||||
@ -97,7 +99,7 @@ public:
|
|||||||
sal_Int16 mkeys[MAX_KEYS];
|
sal_Int16 mkeys[MAX_KEYS];
|
||||||
sal_Int16 mkey_count;
|
sal_Int16 mkey_count;
|
||||||
OUString skipping_chars;
|
OUString skipping_chars;
|
||||||
CollatorImpl *collator;
|
std::unique_ptr<CollatorImpl> collator;
|
||||||
sal_Int16 compare(sal_Unicode c1, sal_Unicode c2);
|
sal_Int16 compare(sal_Unicode c1, sal_Unicode c2);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -168,14 +168,13 @@ Calendar_gregorian::init(const Era *_eraArray)
|
|||||||
icu::Locale aIcuLocale( "", nullptr, nullptr, "calendar=gregorian");
|
icu::Locale aIcuLocale( "", nullptr, nullptr, "calendar=gregorian");
|
||||||
|
|
||||||
UErrorCode status;
|
UErrorCode status;
|
||||||
body = icu::Calendar::createInstance( aIcuLocale, status = U_ZERO_ERROR);
|
body.reset( icu::Calendar::createInstance( aIcuLocale, status = U_ZERO_ERROR) );
|
||||||
if (!body || !U_SUCCESS(status)) throw ERROR;
|
if (!body || !U_SUCCESS(status)) throw ERROR;
|
||||||
eraArray=_eraArray;
|
eraArray=_eraArray;
|
||||||
}
|
}
|
||||||
|
|
||||||
Calendar_gregorian::~Calendar_gregorian()
|
Calendar_gregorian::~Calendar_gregorian()
|
||||||
{
|
{
|
||||||
delete body;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Calendar_hanja::Calendar_hanja()
|
Calendar_hanja::Calendar_hanja()
|
||||||
|
@ -273,7 +273,6 @@ DefaultNumberingProvider::DefaultNumberingProvider( const Reference < XComponent
|
|||||||
|
|
||||||
DefaultNumberingProvider::~DefaultNumberingProvider()
|
DefaultNumberingProvider::~DefaultNumberingProvider()
|
||||||
{
|
{
|
||||||
delete translit;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Sequence< Reference<container::XIndexAccess> >
|
Sequence< Reference<container::XIndexAccess> >
|
||||||
@ -647,7 +646,7 @@ DefaultNumberingProvider::makeNumberingString( const Sequence<beans::PropertyVal
|
|||||||
OUString transliteration;
|
OUString transliteration;
|
||||||
getPropertyByName(aProperties, "Transliteration", true) >>= transliteration;
|
getPropertyByName(aProperties, "Transliteration", true) >>= transliteration;
|
||||||
if ( !translit )
|
if ( !translit )
|
||||||
translit = new TransliterationImpl(m_xContext);
|
translit.reset( new TransliterationImpl(m_xContext) );
|
||||||
translit->loadModuleByImplName(transliteration, aLocale);
|
translit->loadModuleByImplName(transliteration, aLocale);
|
||||||
result += translit->transliterateString2String(tmp, 0, tmp.getLength());
|
result += translit->transliterateString2String(tmp, 0, tmp.getLength());
|
||||||
} catch (Exception& ) {
|
} catch (Exception& ) {
|
||||||
|
@ -30,13 +30,12 @@ namespace com { namespace sun { namespace star { namespace i18n {
|
|||||||
IndexEntrySupplier_Common::IndexEntrySupplier_Common(const Reference < uno::XComponentContext >& rxContext)
|
IndexEntrySupplier_Common::IndexEntrySupplier_Common(const Reference < uno::XComponentContext >& rxContext)
|
||||||
{
|
{
|
||||||
implementationName = "com.sun.star.i18n.IndexEntrySupplier_Common";
|
implementationName = "com.sun.star.i18n.IndexEntrySupplier_Common";
|
||||||
collator = new CollatorImpl(rxContext);
|
collator.reset( new CollatorImpl(rxContext) );
|
||||||
usePhonetic = false;
|
usePhonetic = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
IndexEntrySupplier_Common::~IndexEntrySupplier_Common()
|
IndexEntrySupplier_Common::~IndexEntrySupplier_Common()
|
||||||
{
|
{
|
||||||
delete collator;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Sequence < lang::Locale > SAL_CALL IndexEntrySupplier_Common::getLocaleList() throw (RuntimeException, std::exception)
|
Sequence < lang::Locale > SAL_CALL IndexEntrySupplier_Common::getLocaleList() throw (RuntimeException, std::exception)
|
||||||
|
@ -32,12 +32,11 @@ IndexEntrySupplier_Unicode::IndexEntrySupplier_Unicode(
|
|||||||
IndexEntrySupplier_Common(rxContext)
|
IndexEntrySupplier_Common(rxContext)
|
||||||
{
|
{
|
||||||
implementationName = "com.sun.star.i18n.IndexEntrySupplier_Unicode";
|
implementationName = "com.sun.star.i18n.IndexEntrySupplier_Unicode";
|
||||||
index = new Index(rxContext);
|
index.reset( new Index(rxContext) );
|
||||||
}
|
}
|
||||||
|
|
||||||
IndexEntrySupplier_Unicode::~IndexEntrySupplier_Unicode()
|
IndexEntrySupplier_Unicode::~IndexEntrySupplier_Unicode()
|
||||||
{
|
{
|
||||||
delete index;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sal_Bool SAL_CALL IndexEntrySupplier_Unicode::loadAlgorithm( const lang::Locale& rLocale,
|
sal_Bool SAL_CALL IndexEntrySupplier_Unicode::loadAlgorithm( const lang::Locale& rLocale,
|
||||||
@ -111,13 +110,12 @@ Index::Index(const css::uno::Reference < css::uno::XComponentContext >& rxContex
|
|||||||
: table_count(0)
|
: table_count(0)
|
||||||
, key_count(0)
|
, key_count(0)
|
||||||
, mkey_count(0)
|
, mkey_count(0)
|
||||||
|
, collator( new CollatorImpl(rxContext) )
|
||||||
{
|
{
|
||||||
collator = new CollatorImpl(rxContext);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Index::~Index()
|
Index::~Index()
|
||||||
{
|
{
|
||||||
delete collator;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sal_Int16 Index::compare(sal_Unicode c1, sal_Unicode c2)
|
sal_Int16 Index::compare(sal_Unicode c1, sal_Unicode c2)
|
||||||
|
@ -1323,11 +1323,10 @@ class OutlineNumbering : public cppu::WeakImplHelper < container::XIndexAccess >
|
|||||||
{
|
{
|
||||||
// OutlineNumbering helper class
|
// OutlineNumbering helper class
|
||||||
|
|
||||||
const OutlineNumberingLevel_Impl* m_pOutlineLevels;
|
std::unique_ptr<const OutlineNumberingLevel_Impl[]> m_pOutlineLevels;
|
||||||
sal_Int16 m_nCount;
|
sal_Int16 m_nCount;
|
||||||
public:
|
public:
|
||||||
OutlineNumbering(const OutlineNumberingLevel_Impl* pOutlineLevels, int nLevels);
|
OutlineNumbering(const OutlineNumberingLevel_Impl* pOutlineLevels, int nLevels);
|
||||||
virtual ~OutlineNumbering() override;
|
|
||||||
|
|
||||||
//XIndexAccess
|
//XIndexAccess
|
||||||
virtual sal_Int32 SAL_CALL getCount( ) throw(RuntimeException, std::exception) override;
|
virtual sal_Int32 SAL_CALL getCount( ) throw(RuntimeException, std::exception) override;
|
||||||
@ -1498,11 +1497,6 @@ OutlineNumbering::OutlineNumbering(const OutlineNumberingLevel_Impl* pOutlnLevel
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
OutlineNumbering::~OutlineNumbering()
|
|
||||||
{
|
|
||||||
delete [] m_pOutlineLevels;
|
|
||||||
}
|
|
||||||
|
|
||||||
sal_Int32 OutlineNumbering::getCount( ) throw(RuntimeException, std::exception)
|
sal_Int32 OutlineNumbering::getCount( ) throw(RuntimeException, std::exception)
|
||||||
{
|
{
|
||||||
return m_nCount;
|
return m_nCount;
|
||||||
@ -1513,7 +1507,7 @@ Any OutlineNumbering::getByIndex( sal_Int32 nIndex )
|
|||||||
{
|
{
|
||||||
if(nIndex < 0 || nIndex >= m_nCount)
|
if(nIndex < 0 || nIndex >= m_nCount)
|
||||||
throw IndexOutOfBoundsException();
|
throw IndexOutOfBoundsException();
|
||||||
const OutlineNumberingLevel_Impl* pTemp = m_pOutlineLevels;
|
const OutlineNumberingLevel_Impl* pTemp = m_pOutlineLevels.get();
|
||||||
pTemp += nIndex;
|
pTemp += nIndex;
|
||||||
Any aRet;
|
Any aRet;
|
||||||
|
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
#define INCLUDED_I18NPOOL_SOURCE_SEARCH_LEVDIS_HXX
|
#define INCLUDED_I18NPOOL_SOURCE_SEARCH_LEVDIS_HXX
|
||||||
|
|
||||||
#include <rtl/ustring.hxx>
|
#include <rtl/ustring.hxx>
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
// Sensible default values for a user interface could be:
|
// Sensible default values for a user interface could be:
|
||||||
// LEVDISDEFAULT_XOTHER 2
|
// LEVDISDEFAULT_XOTHER 2
|
||||||
@ -115,19 +116,18 @@ public:
|
|||||||
|
|
||||||
class WLevDisDistanceMem
|
class WLevDisDistanceMem
|
||||||
{
|
{
|
||||||
int* p;
|
std::unique_ptr<int[]> p;
|
||||||
public:
|
public:
|
||||||
explicit WLevDisDistanceMem( size_t s )
|
explicit WLevDisDistanceMem( size_t s )
|
||||||
: p(nullptr)
|
|
||||||
{
|
{
|
||||||
NewMem(s);
|
NewMem(s);
|
||||||
}
|
}
|
||||||
~WLevDisDistanceMem() { delete [] p; }
|
~WLevDisDistanceMem() {}
|
||||||
int* GetPtr() const { return p; }
|
int* GetPtr() const { return p.get(); }
|
||||||
int* NewMem( size_t s )
|
int* NewMem( size_t s )
|
||||||
{
|
{
|
||||||
delete [] p;
|
p.reset(new int[ s<3 ? 3 : s ]);
|
||||||
return (p = new int[ s<3 ? 3 : s ]);
|
return p.get();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -106,8 +106,8 @@ class SvTokenStream
|
|||||||
OString aStrFalse;
|
OString aStrFalse;
|
||||||
sal_uLong nMaxPos;
|
sal_uLong nMaxPos;
|
||||||
|
|
||||||
SvFileStream * pInStream;
|
std::unique_ptr<SvFileStream> pInStream;
|
||||||
OUString aFileName;
|
OUString aFileName;
|
||||||
std::vector<std::unique_ptr<SvToken> > aTokList;
|
std::vector<std::unique_ptr<SvToken> > aTokList;
|
||||||
std::vector<std::unique_ptr<SvToken> >::iterator pCurToken;
|
std::vector<std::unique_ptr<SvToken> >::iterator pCurToken;
|
||||||
|
|
||||||
|
@ -91,7 +91,6 @@ SvTokenStream::SvTokenStream( const OUString & rFileName )
|
|||||||
|
|
||||||
SvTokenStream::~SvTokenStream()
|
SvTokenStream::~SvTokenStream()
|
||||||
{
|
{
|
||||||
delete pInStream;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SvTokenStream::FillTokenList()
|
void SvTokenStream::FillTokenList()
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
|
#include <memory>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include <com/sun/star/io/XMarkableStream.hpp>
|
#include <com/sun/star/io/XMarkableStream.hpp>
|
||||||
@ -75,7 +76,6 @@ class OMarkableOutputStream :
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
OMarkableOutputStream( );
|
OMarkableOutputStream( );
|
||||||
virtual ~OMarkableOutputStream() override;
|
|
||||||
|
|
||||||
public: // XOutputStream
|
public: // XOutputStream
|
||||||
virtual void SAL_CALL writeBytes(const Sequence< sal_Int8 >& aData)
|
virtual void SAL_CALL writeBytes(const Sequence< sal_Int8 >& aData)
|
||||||
@ -138,7 +138,7 @@ private:
|
|||||||
Reference< XOutputStream > m_output;
|
Reference< XOutputStream > m_output;
|
||||||
bool m_bValidStream;
|
bool m_bValidStream;
|
||||||
|
|
||||||
MemRingBuffer *m_pBuffer;
|
std::unique_ptr<MemRingBuffer> m_pBuffer;
|
||||||
map<sal_Int32,sal_Int32,less< sal_Int32 > > m_mapMarks;
|
map<sal_Int32,sal_Int32,less< sal_Int32 > > m_mapMarks;
|
||||||
sal_Int32 m_nCurrentPos;
|
sal_Int32 m_nCurrentPos;
|
||||||
sal_Int32 m_nCurrentMark;
|
sal_Int32 m_nCurrentMark;
|
||||||
@ -148,18 +148,12 @@ private:
|
|||||||
|
|
||||||
OMarkableOutputStream::OMarkableOutputStream( )
|
OMarkableOutputStream::OMarkableOutputStream( )
|
||||||
: m_bValidStream(false)
|
: m_bValidStream(false)
|
||||||
|
, m_pBuffer( new MemRingBuffer )
|
||||||
, m_nCurrentPos(0)
|
, m_nCurrentPos(0)
|
||||||
, m_nCurrentMark(0)
|
, m_nCurrentMark(0)
|
||||||
{
|
{
|
||||||
m_pBuffer = new MemRingBuffer;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
OMarkableOutputStream::~OMarkableOutputStream()
|
|
||||||
{
|
|
||||||
delete m_pBuffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// XOutputStream
|
// XOutputStream
|
||||||
void OMarkableOutputStream::writeBytes(const Sequence< sal_Int8 >& aData)
|
void OMarkableOutputStream::writeBytes(const Sequence< sal_Int8 >& aData)
|
||||||
throw ( NotConnectedException,
|
throw ( NotConnectedException,
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
#include <osl/mutex.hxx>
|
#include <osl/mutex.hxx>
|
||||||
|
|
||||||
#include <limits>
|
#include <limits>
|
||||||
|
#include <memory>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
using namespace ::osl;
|
using namespace ::osl;
|
||||||
@ -55,7 +56,6 @@ class OPipeImpl :
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
OPipeImpl( );
|
OPipeImpl( );
|
||||||
virtual ~OPipeImpl() override;
|
|
||||||
|
|
||||||
public: // XInputStream
|
public: // XInputStream
|
||||||
virtual sal_Int32 SAL_CALL readBytes(Sequence< sal_Int8 >& aData, sal_Int32 nBytesToRead)
|
virtual sal_Int32 SAL_CALL readBytes(Sequence< sal_Int8 >& aData, sal_Int32 nBytesToRead)
|
||||||
@ -118,24 +118,18 @@ private:
|
|||||||
|
|
||||||
osl::Condition m_conditionBytesAvail;
|
osl::Condition m_conditionBytesAvail;
|
||||||
Mutex m_mutexAccess;
|
Mutex m_mutexAccess;
|
||||||
MemFIFO *m_pFIFO;
|
std::unique_ptr<MemFIFO> m_pFIFO;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
OPipeImpl::OPipeImpl()
|
OPipeImpl::OPipeImpl()
|
||||||
|
: m_nBytesToSkip(0 )
|
||||||
|
, m_bOutputStreamClosed(false )
|
||||||
|
, m_bInputStreamClosed( false )
|
||||||
|
, m_pFIFO( new MemFIFO )
|
||||||
{
|
{
|
||||||
m_nBytesToSkip = 0;
|
|
||||||
|
|
||||||
m_bOutputStreamClosed = false;
|
|
||||||
m_bInputStreamClosed = false;
|
|
||||||
|
|
||||||
m_pFIFO = new MemFIFO;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
OPipeImpl::~OPipeImpl()
|
|
||||||
{
|
|
||||||
delete m_pFIFO;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
sal_Int32 OPipeImpl::readBytes(Sequence< sal_Int8 >& aData, sal_Int32 nBytesToRead)
|
sal_Int32 OPipeImpl::readBytes(Sequence< sal_Int8 >& aData, sal_Int32 nBytesToRead)
|
||||||
@ -261,8 +255,7 @@ void OPipeImpl::closeInput()
|
|||||||
|
|
||||||
m_bInputStreamClosed = true;
|
m_bInputStreamClosed = true;
|
||||||
|
|
||||||
delete m_pFIFO;
|
m_pFIFO.reset();
|
||||||
m_pFIFO = nullptr;
|
|
||||||
|
|
||||||
// readBytes may throw an exception
|
// readBytes may throw an exception
|
||||||
m_conditionBytesAvail.set();
|
m_conditionBytesAvail.set();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user