Apache Qpid - AMQP Messaging for Java JMS, C++, Python, Ruby, and .NET
Apache Qpid Documentation
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
qpid
client
Future.h
Go to the documentation of this file.
1
/*
2
*
3
* Licensed to the Apache Software Foundation (ASF) under one
4
* or more contributor license agreements. See the NOTICE file
5
* distributed with this work for additional information
6
* regarding copyright ownership. The ASF licenses this file
7
* to you under the Apache License, Version 2.0 (the
8
* "License"); you may not use this file except in compliance
9
* with the License. You may obtain a copy of the License at
10
*
11
* http://www.apache.org/licenses/LICENSE-2.0
12
*
13
* Unless required by applicable law or agreed to in writing,
14
* software distributed under the License is distributed on an
15
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
* KIND, either express or implied. See the License for the
17
* specific language governing permissions and limitations
18
* under the License.
19
*
20
*/
21
22
#ifndef _Future_
23
#define _Future_
24
25
#include <boost/bind.hpp>
26
#include <boost/shared_ptr.hpp>
27
#include "
qpid/Exception.h
"
28
#include "
qpid/framing/SequenceNumber.h
"
29
#include "
qpid/client/FutureCompletion.h
"
30
#include "
qpid/client/FutureResult.h
"
31
#include "
qpid/client/ClientImportExport.h
"
32
33
namespace
qpid {
34
namespace
client
{
35
37
class
QPID_CLIENT_CLASS_EXTERN
Future
38
{
39
framing::SequenceNumber
command;
40
boost::shared_ptr<FutureResult> result;
41
bool
complete;
42
43
public
:
44
Future
() : complete(false) {}
45
Future
(
const
framing::SequenceNumber
&
id
) : command(id), complete(false) {}
46
47
std::string
getResult
(SessionImpl& session) {
48
if
(result)
return
result->getResult(session);
49
else
throw
Exception
(
"Result not expected"
);
50
}
51
52
QPID_CLIENT_EXTERN
void
wait(SessionImpl& session);
53
QPID_CLIENT_EXTERN
bool
isComplete(SessionImpl& session);
54
QPID_CLIENT_EXTERN
void
setFutureResult(boost::shared_ptr<FutureResult> r);
55
};
56
57
}}
58
59
#endif
Qpid C++ API Reference
Generated on Sun Feb 17 2013 for Qpid C++ Client API by
1.8.1.1