Remove shared_ptr from storage/parsers 25/37125/5
authorZofia Abramowska <z.abramowska@samsung.com>
Mon, 16 Mar 2015 16:53:15 +0000 (17:53 +0100)
committerZofia Abramowska <z.abramowska@samsung.com>
Mon, 30 Mar 2015 15:56:29 +0000 (17:56 +0200)
Remove unnecessary shared pointer parameters/memebers from
storage/serialization where no shared ownership takes place

Change-Id: I5292058da94180d3f7ebd19cf6c464d84b56b862

src/cyad/AdminPolicyParser.cpp
src/cyad/AdminPolicyParser.h
src/cyad/CommandsDispatcher.cpp
src/storage/InMemoryStorageBackend.cpp
src/storage/InMemoryStorageBackend.h
test/cyad/policy_parser.cpp

index 4b8d42e..0649123 100644 (file)
@@ -30,7 +30,7 @@ namespace Cynara {
 
 namespace AdminPolicyParser {
 
-CynaraAdminPolicies parse(const std::shared_ptr<std::istream> &input,
+CynaraAdminPolicies parse(std::istream &input,
                           std::function<PolicyType(const std::string &)> translatePolicy) {
     CynaraAdminPolicies policies;
 
@@ -57,7 +57,7 @@ CynaraAdminPolicies parse(const std::shared_ptr<std::istream> &input,
 
     std::string line;
     std::size_t lineNum = 1;
-    while (std::getline(*input, line, PathConfig::StoragePath::recordSeparator)) {
+    while (std::getline(input, line, PathConfig::StoragePath::recordSeparator)) {
         if (line.empty())
             break;
 
index 0fb1b93..53dde23 100644 (file)
@@ -32,8 +32,7 @@ namespace Cynara {
 
 namespace AdminPolicyParser {
 
-CynaraAdminPolicies parse(const std::shared_ptr<std::istream> &input,
-                          std::function<PolicyType(const std::string &)>);
+CynaraAdminPolicies parse(std::istream &input, std::function<PolicyType(const std::string &)>);
 
 } /* namespace AdminPolicyParser */
 
index ef36654..d385dd6 100644 (file)
@@ -137,7 +137,7 @@ int CommandsDispatcher::execute(SetPolicyBulkCyadCommand &result) {
 
     try {
         using Cynara::AdminPolicyParser::parse;
-        auto policies = parse(input, std::bind(&PolicyTypeTranslator::translate,
+        auto policies = parse(*input, std::bind(&PolicyTypeTranslator::translate,
                                                &m_policyTranslator, std::placeholders::_1));
         auto ret = m_adminApiWrapper.cynara_admin_set_policies(m_cynaraAdmin, policies.data());
         if (ret != CYNARA_API_SUCCESS)
index 141f006..15f6a8a 100644 (file)
@@ -77,12 +77,12 @@ void InMemoryStorageBackend::load(void) {
     }
 
     try {
-        auto chsStream = std::make_shared<std::ifstream>();
+        std::ifstream chsStream;
         openFileStream(chsStream, chsFilename, isBackupValid);
-        m_checksum.load(*chsStream);
+        m_checksum.load(chsStream);
 
         auto indexStream = std::make_shared<std::ifstream>();
-        openFileStream(indexStream, indexFilename, isBackupValid);
+        openFileStream(*indexStream, indexFilename, isBackupValid);
 
         StorageDeserializer storageDeserializer(indexStream,
             std::bind(&InMemoryStorageBackend::bucketStreamOpener, this,
@@ -108,7 +108,7 @@ void InMemoryStorageBackend::load(void) {
 void InMemoryStorageBackend::save(void) {
     std::string checksumFilename = m_dbPath + m_chsFilename;
     auto chsStream = std::make_shared<std::ofstream>();
-    openDumpFileStream<std::ofstream>(chsStream, checksumFilename + m_backupFilenameSuffix);
+    openDumpFileStream<std::ofstream>(*chsStream, checksumFilename + m_backupFilenameSuffix);
 
     dumpDatabase(chsStream);
 
@@ -232,24 +232,24 @@ void InMemoryStorageBackend::erasePolicies(const PolicyBucketId &bucketId, bool
 void InMemoryStorageBackend::dumpDatabase(const std::shared_ptr<std::ofstream> &chsStream) {
     auto indexStream = std::make_shared<ChecksumStream>(m_indexFilename, chsStream);
     std::string indexFilename = m_dbPath + m_indexFilename;
-    openDumpFileStream<ChecksumStream>(indexStream, indexFilename + m_backupFilenameSuffix);
+    openDumpFileStream<ChecksumStream>(*indexStream, indexFilename + m_backupFilenameSuffix);
 
     StorageSerializer<ChecksumStream> storageSerializer(indexStream);
     storageSerializer.dump(buckets(), std::bind(&InMemoryStorageBackend::bucketDumpStreamOpener,
                            this, std::placeholders::_1, chsStream));
 }
 
-void InMemoryStorageBackend::openFileStream(const std::shared_ptr<std::ifstream> &stream,
-                                            const std::string &filename, bool isBackupValid) {
+void InMemoryStorageBackend::openFileStream(std::ifstream &stream, const std::string &filename,
+                                            bool isBackupValid) {
     // TODO: Consider adding exceptions to streams and handling them:
     // stream.exceptions(std::ifstream::failbit | std::ifstream::badbit);
-    stream->open(filename);
+    stream.open(filename);
 
-    if (!stream->is_open()) {
+    if (!stream.is_open()) {
         throw FileNotFoundException(filename);
     }
 
-    m_checksum.compare(*stream, filename, isBackupValid);
+    m_checksum.compare(stream, filename, isBackupValid);
 }
 
 std::shared_ptr<BucketDeserializer> InMemoryStorageBackend::bucketStreamOpener(
@@ -257,7 +257,7 @@ std::shared_ptr<BucketDeserializer> InMemoryStorageBackend::bucketStreamOpener(
     std::string bucketFilename = m_dbPath + m_bucketFilenamePrefix + bucketId + filenameSuffix;
     auto bucketStream = std::make_shared<std::ifstream>();
     try {
-        openFileStream(bucketStream, bucketFilename, isBackupValid);
+        openFileStream(*bucketStream, bucketFilename, isBackupValid);
         return std::make_shared<BucketDeserializer>(bucketStream);
     } catch (const FileNotFoundException &) {
         return nullptr;
@@ -273,7 +273,7 @@ std::shared_ptr<StorageSerializer<ChecksumStream> > InMemoryStorageBackend::buck
     auto bucketStream = std::make_shared<ChecksumStream>(m_bucketFilenamePrefix + bucketId,
                                                          chsStream);
 
-    openDumpFileStream<ChecksumStream>(bucketStream, bucketFilename);
+    openDumpFileStream<ChecksumStream>(*bucketStream, bucketFilename);
     return std::make_shared<StorageSerializer<ChecksumStream> >(bucketStream);
 }
 
index ea1f2bd..80a505c 100644 (file)
@@ -69,15 +69,13 @@ public:
 
 protected:
     void dumpDatabase(const std::shared_ptr<std::ofstream> &chsStream);
-    void openFileStream(const std::shared_ptr<std::ifstream> &stream, const std::string &filename,
-                        bool isBackupValid);
+    void openFileStream(std::ifstream &stream, const std::string &filename, bool isBackupValid);
     std::shared_ptr<BucketDeserializer> bucketStreamOpener(const PolicyBucketId &bucketId,
                                                            const std::string &fileNameSuffix,
                                                            bool isBackupValid);
 
     template<typename StreamType>
-    void openDumpFileStream(const std::shared_ptr<StreamType> &stream,
-                            const std::string &filename);
+    void openDumpFileStream(StreamType &stream, const std::string &filename);
     std::shared_ptr<StorageSerializer<ChecksumStream> > bucketDumpStreamOpener(
             const PolicyBucketId &bucketId, const std::shared_ptr<std::ofstream> &chsStream);
 
@@ -103,11 +101,11 @@ protected:
 };
 
 template<typename StreamType>
-void InMemoryStorageBackend::openDumpFileStream(const std::shared_ptr<StreamType> &stream,
+void InMemoryStorageBackend::openDumpFileStream(StreamType &stream,
                                                 const std::string &filename) {
-    stream->open(filename, std::ofstream::out | std::ofstream::trunc);
+    stream.open(filename, std::ofstream::out | std::ofstream::trunc);
 
-    if (!stream->is_open()) {
+    if (!stream.is_open()) {
         throw CannotCreateFileException(filename);
     }
 }
index a3e2f5e..73f439f 100644 (file)
@@ -43,7 +43,7 @@ TEST(AdminPolicyParser, parseInvalid) {
 
     *input << "invalid input" << std::endl;
 
-    ASSERT_THROW(Cynara::AdminPolicyParser::parse(input, translatePolicy),
+    ASSERT_THROW(Cynara::AdminPolicyParser::parse(*input, translatePolicy),
                  Cynara::BucketRecordCorruptedException);
 }
 
@@ -53,7 +53,7 @@ TEST(AdminPolicyParser, parse0) {
     Cynara::CynaraAdminPolicies expectedPolicies;
     expectedPolicies.seal();
 
-    auto policies = Cynara::AdminPolicyParser::parse(input, translatePolicy);
+    auto policies = Cynara::AdminPolicyParser::parse(*input, translatePolicy);
 
     ASSERT_TRUE(policies.sealed());
     ASSERT_THAT(policies.data(), AdmPolicyListEq(expectedPolicies.data()));
@@ -68,7 +68,7 @@ TEST(AdminPolicyParser, parse1) {
     expectedPolicies.add("b", { 0, "m" }, { "c", "u", "p" });
     expectedPolicies.seal();
 
-    auto policies = Cynara::AdminPolicyParser::parse(input, translatePolicy);
+    auto policies = Cynara::AdminPolicyParser::parse(*input, translatePolicy);
 
     ASSERT_TRUE(policies.sealed());
     ASSERT_THAT(policies.data(), AdmPolicyListEq(expectedPolicies.data()));
@@ -85,7 +85,7 @@ TEST(AdminPolicyParser, parse2) {
     expectedPolicies.add("b2", { 0, "m2" }, { "c2", "u2", "p2" });
     expectedPolicies.seal();
 
-    auto policies = Cynara::AdminPolicyParser::parse(input, translatePolicy);
+    auto policies = Cynara::AdminPolicyParser::parse(*input, translatePolicy);
 
     ASSERT_TRUE(policies.sealed());
     ASSERT_THAT(policies.data(), AdmPolicyListEq(expectedPolicies.data()));