Store the key message from access/creation.
* Allow creating a Keyring with a key message. * Store the key message when accessing. * Add a few missing consts.
This commit is contained in:
committed by
Ryan Leavengood
parent
94f897deea
commit
1dd765c92c
@@ -377,7 +377,7 @@ KeyStoreServer::_AddKeyring(const BString& name, const BMessage& keyMessage)
|
||||
if (_FindKeyring(name) != NULL)
|
||||
return B_NAME_IN_USE;
|
||||
|
||||
Keyring* keyring = new(std::nothrow) Keyring(name, BMessage());
|
||||
Keyring* keyring = new(std::nothrow) Keyring(name, BMessage(), &keyMessage);
|
||||
if (keyring == NULL)
|
||||
return B_NO_MEMORY;
|
||||
|
||||
|
||||
@@ -7,11 +7,13 @@
|
||||
#include "Keyring.h"
|
||||
|
||||
|
||||
Keyring::Keyring(const char* name, const BMessage& data)
|
||||
Keyring::Keyring(const char* name, const BMessage& data,
|
||||
const BMessage* keyMessage)
|
||||
:
|
||||
fName(name),
|
||||
fData(data),
|
||||
fAccessible(false)
|
||||
fKeyMessage(*keyMessage),
|
||||
fAccessible(keyMessage != NULL)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -24,6 +26,7 @@ Keyring::~Keyring()
|
||||
status_t
|
||||
Keyring::Access(const BMessage& keyMessage)
|
||||
{
|
||||
fKeyMessage = keyMessage;
|
||||
fAccessible = true;
|
||||
return B_OK;
|
||||
}
|
||||
@@ -32,20 +35,28 @@ Keyring::Access(const BMessage& keyMessage)
|
||||
void
|
||||
Keyring::RevokeAccess()
|
||||
{
|
||||
fKeyMessage.MakeEmpty();
|
||||
fAccessible = false;
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
Keyring::IsAccessible()
|
||||
Keyring::IsAccessible() const
|
||||
{
|
||||
return fAccessible;
|
||||
}
|
||||
|
||||
|
||||
const BMessage&
|
||||
Keyring::KeyMessage() const
|
||||
{
|
||||
return fKeyMessage;
|
||||
}
|
||||
|
||||
|
||||
status_t
|
||||
Keyring::FindKey(const BString& identifier, const BString& secondaryIdentifier,
|
||||
bool secondaryIdentifierOptional, BMessage* _foundKeyMessage)
|
||||
bool secondaryIdentifierOptional, BMessage* _foundKeyMessage) const
|
||||
{
|
||||
if (!fAccessible)
|
||||
return B_NOT_ALLOWED;
|
||||
@@ -91,7 +102,7 @@ Keyring::FindKey(const BString& identifier, const BString& secondaryIdentifier,
|
||||
|
||||
status_t
|
||||
Keyring::FindKey(BKeyType type, BKeyPurpose purpose, uint32 index,
|
||||
BMessage& _foundKeyMessage)
|
||||
BMessage& _foundKeyMessage) const
|
||||
{
|
||||
if (!fAccessible)
|
||||
return B_NOT_ALLOWED;
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
class Keyring {
|
||||
public:
|
||||
Keyring(const char* name,
|
||||
const BMessage& data);
|
||||
const BMessage& data,
|
||||
const BMessage* keyMessage = NULL);
|
||||
~Keyring();
|
||||
|
||||
const char* Name() const { return fName; }
|
||||
@@ -21,15 +22,16 @@ public:
|
||||
|
||||
status_t Access(const BMessage& keyMessage);
|
||||
void RevokeAccess();
|
||||
bool IsAccessible();
|
||||
bool IsAccessible() const;
|
||||
const BMessage& KeyMessage() const;
|
||||
|
||||
status_t FindKey(const BString& identifier,
|
||||
const BString& secondaryIdentifier,
|
||||
bool secondaryIdentifierOptional,
|
||||
BMessage* _foundKeyMessage);
|
||||
BMessage* _foundKeyMessage) const;
|
||||
status_t FindKey(BKeyType type, BKeyPurpose purpose,
|
||||
uint32 index,
|
||||
BMessage& _foundKeyMessage);
|
||||
BMessage& _foundKeyMessage) const;
|
||||
|
||||
status_t AddKey(const BString& identifier,
|
||||
const BString& secondaryIdentifier,
|
||||
@@ -45,6 +47,7 @@ static int Compare(const BString* name,
|
||||
private:
|
||||
BString fName;
|
||||
BMessage fData;
|
||||
BMessage fKeyMessage;
|
||||
bool fAccessible;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user