InsertRequest.cpp 888 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. //
  2. // InsertRequest.cpp
  3. //
  4. // $Id$
  5. //
  6. // Library: MongoDB
  7. // Package: MongoDB
  8. // Module: InsertRequest
  9. //
  10. // Copyright (c) 2012, Applied Informatics Software Engineering GmbH.
  11. // and Contributors.
  12. //
  13. // SPDX-License-Identifier: BSL-1.0
  14. //
  15. #include "Poco/MongoDB/InsertRequest.h"
  16. namespace Poco {
  17. namespace MongoDB {
  18. InsertRequest::InsertRequest(const std::string& collectionName, Flags flags):
  19. RequestMessage(MessageHeader::OP_INSERT),
  20. _flags(flags),
  21. _fullCollectionName(collectionName)
  22. {
  23. }
  24. InsertRequest::~InsertRequest()
  25. {
  26. }
  27. void InsertRequest::buildRequest(BinaryWriter& writer)
  28. {
  29. poco_assert (!_documents.empty());
  30. writer << _flags;
  31. BSONWriter bsonWriter(writer);
  32. bsonWriter.writeCString(_fullCollectionName);
  33. for (Document::Vector::iterator it = _documents.begin(); it != _documents.end(); ++it)
  34. {
  35. bsonWriter.write(*it);
  36. }
  37. }
  38. } } // namespace Poco::MongoDB