Safir SDK Core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ResponseProxy.h
Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * Copyright Saab AB, 2008-2013 (http://safir.sourceforge.net)
4 *
5 * Created by: Anders Widén / stawi
6 *
7 *******************************************************************************
8 *
9 * This file is part of Safir SDK Core.
10 *
11 * Safir SDK Core is free software: you can redistribute it and/or modify
12 * it under the terms of version 3 of the GNU General Public License as
13 * published by the Free Software Foundation.
14 *
15 * Safir SDK Core is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with Safir SDK Core. If not, see <http://www.gnu.org/licenses/>.
22 *
23 ******************************************************************************/
24 
25 #ifndef _SAFIR_DOB_RESPONSE_PROXY_H
26 #define _SAFIR_DOB_RESPONSE_PROXY_H
27 
28 #include <Safir/Dob/Internal/ProxyImplPtr.h>
33 #include <Safir/Dob/Response.h>
34 #include <Safir/Dob/Defs.h>
35 
36 #include <string>
37 
38 namespace Safir
39 {
40 namespace Dob
41 {
42 
43  // Forward declaration
44  namespace Internal
45  {
46  class ResponseProxyImpl;
47  }
48 
53  {
54  public:
60  bool IsSuccess() const;
61 
69  const Dob::Typesystem::TypeId GetTypeId() const;
70 
78  const Dob::ResponsePtr GetResponse() const;
79 
87  const Dob::ConnectionInfoPtr GetResponseSenderConnectionInfo() const;
88 
104  const char * GetBlob() const;
105 
118  const Dob::RequestId GetRequestId() const;
119 
125  const Dob::Typesystem::TypeId GetRequestTypeId() const;
126 
132  const Dob::Typesystem::InstanceId GetRequestInstanceId() const;
133 
142  const Dob::Typesystem::ObjectPtr GetRequest() const;
143 
162  const char * GetRequestBlob() const;
163 
164 
170  const Dob::Typesystem::HandlerId GetRequestHandlerId() const;
171 
175  // The constructor is for internal usage only!
176  explicit ResponseProxy(Internal::ResponseProxyImpl* pImpl);
177 
178  private:
179 
180 #ifdef _MSC_VER
181 #pragma warning (push)
182 #pragma warning (disable: 4251) // To get rid of warning that says that the template needs to have a DLL-interface
183 #endif
184 
185  Internal::ProxyImplPtr<Internal::ResponseProxyImpl> m_pImpl;
186 
187 #ifdef _MSC_VER
188 #pragma warning (pop)
189 #endif
190 
191  };
192 }
193 }
194 
195 #endif
Class containing the identity of a handler.
Definition: HandlerId.h:44
DOTS_CPP_API Dob::Typesystem::TypeId GetTypeId(const Dob::Typesystem::TypeId typeId, const Dob::Typesystem::MemberIndex member)
Get type id of object or enumeration member.
Class containing the identity of an instance.
Definition: InstanceId.h:47
DotsC_TypeId TypeId
A unique type identifier.
Definition: Defs.h:219
boost::shared_ptr< ConnectionInfo > ConnectionInfoPtr
Definition: ConnectionInfo.h:34
boost::shared_ptr< Object > ObjectPtr
A smart pointer to an Object.
Definition: Object.h:41
Safir::Dob::Typesystem::Int32 RequestId
Represents the id of a request.
Definition: Defs.h:42
boost::shared_ptr< Response > ResponsePtr
Definition: Response.h:32
Proxy class for a response.
Definition: ResponseProxy.h:52
#define DOSE_CPP_API
Definition: DoseCppExportDefs.h:33