Style cleanup.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37432 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2010-07-08 15:04:38 +00:00
parent e5150e2847
commit fbb6335d2a
5 changed files with 80 additions and 63 deletions
+27 -25
View File
@@ -25,51 +25,52 @@ using BPrivate::Archiving::BUnarchiveManager;
class BArchivable { class BArchivable {
public: public:
BArchivable(BMessage* from); BArchivable(BMessage* from);
BArchivable(); BArchivable();
virtual ~BArchivable(); virtual ~BArchivable();
virtual status_t Archive(BMessage* into, bool deep = true) const; virtual status_t Archive(BMessage* into, bool deep = true) const;
static BArchivable* Instantiate(BMessage* archive); static BArchivable* Instantiate(BMessage* archive);
virtual status_t Perform(perform_code d, void* arg); virtual status_t Perform(perform_code d, void* arg);
virtual status_t AllUnarchived(const BMessage* archive); virtual status_t AllUnarchived(const BMessage* archive);
virtual status_t AllArchived(BMessage* archive) const; virtual status_t AllArchived(BMessage* archive) const;
private: private:
virtual void _ReservedArchivable3(); virtual void _ReservedArchivable3();
uint32 _reserved[2]; uint32 _reserved[2];
}; };
class BArchiver { class BArchiver {
public: public:
BArchiver(BMessage* archive); BArchiver(BMessage* archive);
~BArchiver(); ~BArchiver();
status_t AddArchivable(const char* name, status_t AddArchivable(const char* name,
BArchivable* archivable, bool deep = true); BArchivable* archivable, bool deep = true);
status_t GetTokenForArchivable(BArchivable* archivable, status_t GetTokenForArchivable(BArchivable* archivable,
int32& _token, bool deep = true); int32& _token, bool deep = true);
bool IsArchived(BArchivable* archivable); bool IsArchived(BArchivable* archivable);
status_t Finish(); status_t Finish();
BMessage* ArchiveMessage() const; BMessage* ArchiveMessage() const;
private: private:
friend class BArchivable; friend class BArchivable;
BArchiver(); // not defined BArchiver(); // not defined
BArchiver(const BArchiver&); // not defined BArchiver(const BArchiver&); // not defined
void RegisterArchivable(const BArchivable* archivable); void RegisterArchivable(
const BArchivable* archivable);
BArchiveManager* fManager; BArchiveManager* fManager;
BMessage* fArchive; BMessage* fArchive;
bool fFinished; bool fFinished;
}; };
@@ -100,6 +101,7 @@ public:
static bool IsArchiveManaged(BMessage* archive); static bool IsArchiveManaged(BMessage* archive);
static BMessage* PrepareArchive(BMessage*& archive); static BMessage* PrepareArchive(BMessage*& archive);
private: private:
friend class BArchivable; friend class BArchivable;
-2
View File
@@ -191,14 +191,12 @@ class BMessage::Private {
reply, sendTimeout, replyTimeout); reply, sendTimeout, replyTimeout);
} }
void* void*
ArchivingPointer() ArchivingPointer()
{ {
return fMessage->fArchivingPointer; return fMessage->fArchivingPointer;
} }
void void
SetArchivingPointer(void* pointer) SetArchivingPointer(void* pointer)
{ {
+10
View File
@@ -295,8 +295,10 @@ BArchivable::AllArchived(BMessage* archive) const
return B_OK; return B_OK;
} }
// #pragma mark - // #pragma mark -
BArchiver::BArchiver(BMessage* archive) BArchiver::BArchiver(BMessage* archive)
: :
fManager(BManagerBase::ArchiveManager(archive)), fManager(BManagerBase::ArchiveManager(archive)),
@@ -744,9 +746,11 @@ find_instantiation_func(BMessage* archive)
return find_instantiation_func(name, signature); return find_instantiation_func(name, signature);
} }
// BArchivable binary compatability // BArchivable binary compatability
#if __GNUC__ == 2 #if __GNUC__ == 2
extern "C" status_t extern "C" status_t
_ReservedArchivable1__11BArchivable(BArchivable* archivable, _ReservedArchivable1__11BArchivable(BArchivable* archivable,
const BMessage* archive) const BMessage* archive)
@@ -759,6 +763,7 @@ _ReservedArchivable1__11BArchivable(BArchivable* archivable,
return performData.return_value; return performData.return_value;
} }
extern "C" status_t extern "C" status_t
_ReservedArchivable2__11BArchivable(BArchivable* archivable, _ReservedArchivable2__11BArchivable(BArchivable* archivable,
BMessage* archive) BMessage* archive)
@@ -771,8 +776,10 @@ _ReservedArchivable2__11BArchivable(BArchivable* archivable,
return performData.return_value; return performData.return_value;
} }
#elif __GNUC__ > 2 #elif __GNUC__ > 2
extern "C" status_t extern "C" status_t
_ZN11BArchivable20_ReservedArchivable1Ev(BArchivable* archivable, _ZN11BArchivable20_ReservedArchivable1Ev(BArchivable* archivable,
const BMessage* archive) const BMessage* archive)
@@ -785,6 +792,7 @@ _ZN11BArchivable20_ReservedArchivable1Ev(BArchivable* archivable,
return performData.return_value; return performData.return_value;
} }
extern "C" status_t extern "C" status_t
_ZN11BArchivable20_ReservedArchivable2Ev(BArchivable* archivable, _ZN11BArchivable20_ReservedArchivable2Ev(BArchivable* archivable,
BMessage* archive) BMessage* archive)
@@ -797,8 +805,10 @@ _ZN11BArchivable20_ReservedArchivable2Ev(BArchivable* archivable,
return performData.return_value; return performData.return_value;
} }
#endif // _GNUC__ > 2 #endif // _GNUC__ > 2
void BArchivable::_ReservedArchivable3() {} void BArchivable::_ReservedArchivable3() {}
+11 -11
View File
@@ -18,7 +18,8 @@ namespace Archiving {
const char* kArchiveCountField = "_managed_archive_count"; const char* kArchiveCountField = "_managed_archive_count";
const char* kArchivableField = "_managed_archivable"; const char* kArchivableField = "_managed_archivable";
const char* kTokenField = "_managed_token"; const char* kTokenField = "_managed_token";
} } }
}
using namespace BPrivate::Archiving; using namespace BPrivate::Archiving;
@@ -111,6 +112,7 @@ BArchiveManager::GetTokenForArchivable(BArchivable* archivable, int32& _token)
return B_OK; return B_OK;
} }
status_t status_t
BArchiveManager::ArchiveObject(BArchivable* archivable, bool deep) BArchiveManager::ArchiveObject(BArchivable* archivable, bool deep)
{ {
@@ -127,9 +129,10 @@ BArchiveManager::ArchiveObject(BArchivable* archivable, bool deep)
MarkArchive(info.archive); MarkArchive(info.archive);
status_t err = archivable->Archive(info.archive, deep); status_t err = archivable->Archive(info.archive, deep);
if (err != B_OK) if (err != B_OK) {
fTokenMap.erase(archivable); fTokenMap.erase(archivable);
// info.archive gets deleted here // info.archive gets deleted here
}
return err; return err;
} }
@@ -141,7 +144,7 @@ BArchiveManager::IsArchived(BArchivable* archivable)
if (!archivable) if (!archivable)
return true; return true;
return (fTokenMap.find(archivable) != fTokenMap.end()); return fTokenMap.find(archivable) != fTokenMap.end();
} }
@@ -149,14 +152,12 @@ status_t
BArchiveManager::ArchiverLeaving(const BArchiver* archiver) BArchiveManager::ArchiverLeaving(const BArchiver* archiver)
{ {
if (archiver == fCreator) { if (archiver == fCreator) {
// first, we must sort the objects into the order they were archived in // first, we must sort the objects into the order they were archived in
typedef std::pair<BMessage*, const BArchivable*> archivePair ; typedef std::pair<BMessage*, const BArchivable*> ArchivePair;
archivePair pairs[fTokenMap.size()]; ArchivePair pairs[fTokenMap.size()];
for(TokenMap::iterator it = fTokenMap.begin(), end = fTokenMap.end(); for(TokenMap::iterator it = fTokenMap.begin(), end = fTokenMap.end();
it != end; it++) { it != end; it++) {
ArchiveInfo& info = it->second; ArchiveInfo& info = it->second;
pairs[info.token].first = info.archive; pairs[info.token].first = info.archive;
pairs[info.token].second = it->first; pairs[info.token].second = it->first;
@@ -169,8 +170,7 @@ BArchiveManager::ArchiverLeaving(const BArchiver* archiver)
status_t err = B_ERROR; status_t err = B_ERROR;
int32 count = fTokenMap.size(); int32 count = fTokenMap.size();
for (int32 i = 0; i < count; i++) { for (int32 i = 0; i < count; i++) {
const ArchivePair& pair = pairs[i];
const archivePair& pair = pairs[i];
err = pair.second->AllArchived(pair.first); err = pair.second->AllArchived(pair.first);
if (err == B_OK && i > 0) { if (err == B_OK && i > 0) {
@@ -228,6 +228,7 @@ struct BUnarchiveManager::ArchiveInfo {
// #pragma mark - // #pragma mark -
BUnarchiveManager::BUnarchiveManager(BMessage* archive) BUnarchiveManager::BUnarchiveManager(BMessage* archive)
: :
BManagerBase(archive, BManagerBase::UNARCHIVE_MANAGER), BManagerBase(archive, BManagerBase::UNARCHIVE_MANAGER),
@@ -308,7 +309,6 @@ status_t
BUnarchiveManager::UnarchiverLeaving(const BUnarchiver* unarchiver) BUnarchiveManager::UnarchiverLeaving(const BUnarchiver* unarchiver)
{ {
if (--fRefCount == 0) { if (--fRefCount == 0) {
fRefCount = -1; fRefCount = -1;
// make sure we de not end up here again! // make sure we de not end up here again!
+32 -25
View File
@@ -14,6 +14,7 @@
#include <Archivable.h> #include <Archivable.h>
namespace BPrivate { namespace BPrivate {
namespace Archiving { namespace Archiving {
@@ -21,6 +22,7 @@ extern const char* kArchiveCountField;
extern const char* kArchivableField; extern const char* kArchivableField;
extern const char* kTokenField; extern const char* kTokenField;
class BManagerBase { class BManagerBase {
public: public:
enum manager_type { enum manager_type {
@@ -80,11 +82,12 @@ public:
static BUnarchiveManager* UnarchiveManager(const BMessage* archive); static BUnarchiveManager* UnarchiveManager(const BMessage* archive);
protected: protected:
~BManagerBase() ~BManagerBase()
{ {
UnmarkArchive(fTopLevelArchive); UnmarkArchive(fTopLevelArchive);
} }
protected:
BMessage* fTopLevelArchive; BMessage* fTopLevelArchive;
manager_type fType; manager_type fType;
}; };
@@ -92,21 +95,23 @@ protected:
class BArchiveManager: public BManagerBase { class BArchiveManager: public BManagerBase {
public: public:
BArchiveManager(const BArchiver* creator); BArchiveManager(const BArchiver* creator);
status_t GetTokenForArchivable(BArchivable* archivable, status_t GetTokenForArchivable(BArchivable* archivable,
int32& _token); int32& _token);
status_t ArchiveObject(BArchivable* archivable, bool deep); status_t ArchiveObject(BArchivable* archivable,
bool deep);
bool IsArchived(BArchivable* archivable); bool IsArchived(BArchivable* archivable);
status_t ArchiverLeaving(const BArchiver* archiver); status_t ArchiverLeaving(const BArchiver* archiver);
void Acquire(); void Acquire();
void RegisterArchivable(const BArchivable* archivable); void RegisterArchivable(
const BArchivable* archivable);
private: private:
~BArchiveManager(); ~BArchiveManager();
struct ArchiveInfo; struct ArchiveInfo;
typedef std::map<const BArchivable*, ArchiveInfo> TokenMap; typedef std::map<const BArchivable*, ArchiveInfo> TokenMap;
@@ -120,27 +125,29 @@ private:
class BUnarchiveManager: public BManagerBase { class BUnarchiveManager: public BManagerBase {
public: public:
BUnarchiveManager(BMessage* topLevelArchive); BUnarchiveManager(BMessage* topLevelArchive);
status_t ArchivableForToken(BArchivable** archivable, status_t ArchivableForToken(BArchivable** archivable,
int32 token); int32 token);
bool IsInstantiated(int32 token); bool IsInstantiated(int32 token);
void RegisterArchivable(BArchivable* archivable); void RegisterArchivable(BArchivable* archivable);
status_t UnarchiverLeaving(const BUnarchiver* archiver); status_t UnarchiverLeaving(const BUnarchiver* archiver);
void Acquire(); void Acquire();
private: private:
~BUnarchiveManager(); ~BUnarchiveManager();
status_t _ExtractArchiveAt(int32 index);
status_t _InstantiateObjectForToken(int32 token);
struct ArchiveInfo; status_t _ExtractArchiveAt(int32 index);
ArchiveInfo* fObjects; status_t _InstantiateObjectForToken(int32 token);
int32 fObjectCount;
int32 fTokenInProgress; struct ArchiveInfo;
int32 fRefCount;
ArchiveInfo* fObjects;
int32 fObjectCount;
int32 fTokenInProgress;
int32 fRefCount;
}; };