merged changes from develop; added authentication support

This commit is contained in:
Guenter Obiltschnig
2017-02-12 23:13:51 +01:00
parent 155c12e2e0
commit 9f8146ccaa
12 changed files with 547 additions and 142 deletions

View File

@@ -23,12 +23,41 @@ namespace Poco {
namespace MongoDB {
Binary::Binary() : _buffer(0)
Binary::Binary():
_buffer(0),
_subtype(0)
{
}
Binary::Binary(Poco::Int32 size, unsigned char subtype) : _buffer(size), _subtype(subtype)
Binary::Binary(Poco::Int32 size, unsigned char subtype):
_buffer(size),
_subtype(subtype)
{
}
Binary::Binary(const UUID& uuid):
_buffer(128 / 8),
_subtype(0x04)
{
unsigned char szUUID[16];
uuid.copyTo((char*) szUUID);
_buffer.assign(szUUID, 16);
}
Binary::Binary(const std::string& data, unsigned char subtype):
_buffer(reinterpret_cast<const unsigned char*>(data.data()), data.size()),
_subtype(subtype)
{
}
Binary::Binary(const void* data, Poco::Int32 size, unsigned char subtype):
_buffer(reinterpret_cast<const unsigned char*>(data), size),
_subtype(subtype)
{
}
@@ -47,5 +76,15 @@ std::string Binary::toString(int indent) const
return oss.str();
}
UUID Binary::uuid() const
{
if ( _subtype == 0x04 && _buffer.size() == 16 )
{
UUID uuid;
uuid.copyFrom((const char*) _buffer.begin());
return uuid;
}
throw BadCastException("Invalid subtype");
}
} } // namespace Poco::MongoDB