Add support for adding a package-info to BRepositoryWriter.
This commit is contained in:
@@ -60,6 +60,7 @@ public:
|
|||||||
|
|
||||||
status_t Init(const char* fileName);
|
status_t Init(const char* fileName);
|
||||||
status_t AddPackage(const BEntry& packageEntry);
|
status_t AddPackage(const BEntry& packageEntry);
|
||||||
|
status_t AddPackageInfo(const BPackageInfo& packageInfo);
|
||||||
status_t Finish();
|
status_t Finish();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -41,11 +41,14 @@ public:
|
|||||||
|
|
||||||
status_t Init(const char* fileName);
|
status_t Init(const char* fileName);
|
||||||
status_t AddPackage(const BEntry& packageEntry);
|
status_t AddPackage(const BEntry& packageEntry);
|
||||||
|
status_t AddPackageInfo(const BPackageInfo& packageInfo);
|
||||||
status_t Finish();
|
status_t Finish();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
status_t _Init(const char* fileName);
|
status_t _Init(const char* fileName);
|
||||||
status_t _AddPackage(const BEntry& packageEntry);
|
status_t _AddPackage(const BEntry& packageEntry);
|
||||||
|
status_t _AddPackageInfo(
|
||||||
|
const BPackageInfo& packageInfo);
|
||||||
status_t _Finish();
|
status_t _Finish();
|
||||||
|
|
||||||
status_t _RegisterCurrentPackageInfo();
|
status_t _RegisterCurrentPackageInfo();
|
||||||
|
|||||||
@@ -51,6 +51,16 @@ BRepositoryWriter::AddPackage(const BEntry& packageEntry)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
status_t
|
||||||
|
BRepositoryWriter::AddPackageInfo(const BPackageInfo& packageInfo)
|
||||||
|
{
|
||||||
|
if (fImpl == NULL)
|
||||||
|
return B_NO_INIT;
|
||||||
|
|
||||||
|
return fImpl->AddPackageInfo(packageInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
BRepositoryWriter::Finish()
|
BRepositoryWriter::Finish()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -233,6 +233,20 @@ RepositoryWriterImpl::AddPackage(const BEntry& packageEntry)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
status_t
|
||||||
|
RepositoryWriterImpl::AddPackageInfo(const BPackageInfo& packageInfo)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
return _AddPackageInfo(packageInfo);
|
||||||
|
} catch (status_t error) {
|
||||||
|
return error;
|
||||||
|
} catch (std::bad_alloc) {
|
||||||
|
fListener->PrintError("Out of memory!\n");
|
||||||
|
return B_NO_MEMORY;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
RepositoryWriterImpl::Finish()
|
RepositoryWriterImpl::Finish()
|
||||||
{
|
{
|
||||||
@@ -350,6 +364,20 @@ RepositoryWriterImpl::_AddPackage(const BEntry& packageEntry)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
status_t
|
||||||
|
RepositoryWriterImpl::_AddPackageInfo(const BPackageInfo& packageInfo)
|
||||||
|
{
|
||||||
|
fPackageInfo = packageInfo;
|
||||||
|
|
||||||
|
// register package's attributes
|
||||||
|
status_t result = _RegisterCurrentPackageInfo();
|
||||||
|
if (result != B_OK)
|
||||||
|
return result;
|
||||||
|
|
||||||
|
return B_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
RepositoryWriterImpl::_RegisterCurrentPackageInfo()
|
RepositoryWriterImpl::_RegisterCurrentPackageInfo()
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user