* limitations under the License
*/
/**
- * @file src/admin/logic/Logic.cpp
+ * @file src/admin/logic/OnlineLogic.cpp
* @author Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
+ * @author Aleksander Zdyb <a.zdyb@samsung.com>
* @version 1.0
- * @brief This file contains implementation of Logic class - main libcynara-admin class
+ * @brief This file contains implementation of online version of Logic class
*/
#include <cinttypes>
#include <sockets/SocketClient.h>
#include <types/ProtocolFields.h>
-#include "Logic.h"
+#include "OnlineLogic.h"
namespace Cynara {
-Logic::Logic() {
+OnlineLogic::OnlineLogic() {
m_socketClient = std::make_shared<SocketClient>(PathConfig::SocketPath::admin,
std::make_shared<ProtocolAdmin>());
}
return ++sequenceNumber;
}
-bool Logic::ensureConnection(void) {
+bool OnlineLogic::ensureConnection(void) {
return m_socketClient->isConnected() || m_socketClient->connect();
}
template<typename T, typename... Args>
-int Logic::askCynaraAndInterpreteCodeResponse(Args... args) {
+int OnlineLogic::askCynaraAndInterpreteCodeResponse(Args... args) {
if (!ensureConnection()) {
LOGE("Cannot connect to cynara. Service not available.");
return CYNARA_API_SERVICE_NOT_AVAILABLE;
}
}
-int Logic::setPolicies(const ApiInterface::PoliciesByBucket &insertOrUpdate,
- const ApiInterface::KeysByBucket &remove) {
+int OnlineLogic::setPolicies(const ApiInterface::PoliciesByBucket &insertOrUpdate,
+ const ApiInterface::KeysByBucket &remove) {
return askCynaraAndInterpreteCodeResponse<SetPoliciesRequest>(insertOrUpdate, remove);
}
-int Logic::insertOrUpdateBucket(const PolicyBucketId &bucket,
- const PolicyResult &policyResult) {
+int OnlineLogic::insertOrUpdateBucket(const PolicyBucketId &bucket,
+ const PolicyResult &policyResult) {
return askCynaraAndInterpreteCodeResponse<InsertOrUpdateBucketRequest>(bucket, policyResult);
}
-int Logic::removeBucket(const PolicyBucketId &bucket) {
+int OnlineLogic::removeBucket(const PolicyBucketId &bucket) {
return askCynaraAndInterpreteCodeResponse<RemoveBucketRequest>(bucket);
}
-int Logic::adminCheck(const PolicyBucketId &startBucket, bool recursive, const PolicyKey &key,
- PolicyResult &result) {
+int OnlineLogic::adminCheck(const PolicyBucketId &startBucket, bool recursive, const PolicyKey &key,
+ PolicyResult &result) {
if (!ensureConnection()) {
LOGE("Cannot connect to cynara. Service not available.");
return CYNARA_API_SERVICE_NOT_AVAILABLE;
return CYNARA_API_SUCCESS;
}
-int Logic::listPolicies(const PolicyBucketId &bucket, const PolicyKey &filter,
+int OnlineLogic::listPolicies(const PolicyBucketId &bucket, const PolicyKey &filter,
std::vector<Policy> &policies) {
if (!ensureConnection()) {
LOGE("Cannot connect to cynara. Service not available.");
return CYNARA_API_SUCCESS;
}
-int Logic::erasePolicies(const PolicyBucketId &startBucket, bool recursive,
+int OnlineLogic::erasePolicies(const PolicyBucketId &startBucket, bool recursive,
const PolicyKey &filter) {
return askCynaraAndInterpreteCodeResponse<EraseRequest>(startBucket, recursive, filter);
}
* limitations under the License
*/
/**
- * @file src/admin/logic/Logic.h
+ * @file src/admin/logic/OnlineLogic.h
* @author Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
* @version 1.0
- * @brief This file contains definition of Logic class - main libcynara-admin class
+ * @brief This file contains definition of online version of Logic class
*/
-#ifndef SRC_ADMIN_LOGIC_LOGIC_H_
-#define SRC_ADMIN_LOGIC_LOGIC_H_
-
-#include <string>
+#ifndef SRC_ADMIN_LOGIC_ONLINELOGIC_H_
+#define SRC_ADMIN_LOGIC_ONLINELOGIC_H_
#include <sockets/SocketClient.h>
namespace Cynara {
-class Logic : public ApiInterface {
+class OnlineLogic : public ApiInterface {
private:
SocketClientPtr m_socketClient;
int askCynaraAndInterpreteCodeResponse(Args... args);
public:
- Logic();
- virtual ~Logic() {};
+ OnlineLogic();
+ virtual ~OnlineLogic() {};
virtual int setPolicies(const ApiInterface::PoliciesByBucket &insertOrUpdate,
const ApiInterface::KeysByBucket &remove);
} // namespace Cynara
-#endif /* SRC_ADMIN_LOGIC_LOGIC_H_ */
+#endif /* SRC_ADMIN_LOGIC_ONLINELOGIC_H_ */