ServiceResult.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. * Copyright 2009-2017 Alibaba Cloud All rights reserved.
  3. *
  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
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  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.
  15. */
  16. #pragma once
  17. #include <string>
  18. #include <memory>
  19. #include <iostream>
  20. namespace AlibabaCloud
  21. {
  22. namespace OSS
  23. {
  24. class ServiceResult
  25. {
  26. public:
  27. ServiceResult() {}
  28. virtual ~ServiceResult() {};
  29. inline const std::string& RequestId() const {return requestId_;}
  30. inline const std::shared_ptr<std::iostream>& payload() const {return payload_;}
  31. inline const HeaderCollection& headerCollection() const {return headerCollection_;}
  32. inline int responseCode() const {return responseCode_;}
  33. void setRequestId(const std::string& requestId) {requestId_ = requestId;}
  34. void setPlayload(const std::shared_ptr<std::iostream>& payload) {payload_ = payload;}
  35. void setHeaderCollection(const HeaderCollection& values) { headerCollection_ = values;}
  36. void setResponseCode(const int code) { responseCode_ = code;}
  37. private:
  38. std::string requestId_;
  39. std::shared_ptr<std::iostream> payload_;
  40. HeaderCollection headerCollection_;
  41. int responseCode_;
  42. };
  43. }
  44. }