2 * Copyright (c) 2014-2015 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 * @file src/common/response/ListResponse.h
18 * @author Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
19 * @author Pawel Wieczorek <p.wieczorek2@samsung.com>
21 * @brief This file defines response class for policies list request
24 #ifndef SRC_COMMON_RESPONSE_LISTRESPONSE_H_
25 #define SRC_COMMON_RESPONSE_LISTRESPONSE_H_
29 #include <types/Policy.h>
31 #include <request/pointers.h>
32 #include <response/pointers.h>
33 #include <response/Response.h>
37 class ListResponse : public Response {
39 ListResponse(const std::vector<Policy> &policies, bool bucketValid, bool dbCorrupted,
40 ProtocolFrameSequenceNumber sequenceNumber) :
41 Response(sequenceNumber), m_policies(policies), m_bucketValid(bucketValid),
42 m_dbCorrupted(dbCorrupted) {
45 virtual ~ListResponse() {};
47 virtual void execute(ResponsePtr self, ResponseTakerPtr taker, RequestContextPtr context) const;
49 bool isBucketValid(void) const {
53 bool isDbCorrupted(void) const {
57 const std::vector<Policy> &policies(void) const {
62 std::vector<Policy> m_policies;
69 #endif /* SRC_COMMON_RESPONSE_LISTRESPONSE_H_ */