firebase:: FutureBase
#include <future.h>
Type-independent return type of asynchronous calls.
Summary
See also:Future for code samples.
Inheritance
Direct Known Subclasses:firebase::Future< ResultType >
Constructors and Destructors |
|
---|---|
FutureBase()
Construct an untyped future.
|
|
FutureBase(const FutureBase & rhs)
Copy constructor and operator.
|
|
~FutureBase()
|
Public types |
|
---|---|
CompletionCallback)(const FutureBase &result_data, void *user_data)
|
typedefvoid(*
Function pointer for a completion callback. |
Public functions |
|
---|---|
OnCompletion(CompletionCallback callback, void *user_data) const
|
void
Register a single callback that will be called at most once, when the future is completed.
|
OnCompletion(std::function< void(const FutureBase &)> callback) const
|
void
Register a single callback that will be called at most once, when the future is completed.
|
Release()
|
void
Explicitly release the internal resources for a future.
|
error() const
|
int
When status() is firebase::kFutureStatusComplete, returns the API-defined error code.
|
error_message() const
|
const char *
When status() is firebase::kFutureStatusComplete, returns the API-defined error message, as human-readable text, or an empty string if the API does not provide a human readable description of the error.
|
operator!=(const FutureBase & rhs) const
|
bool
Returns true if the two Futures reference different results.
|
operator=(const FutureBase & rhs)
|
Copy an untyped future.
|
operator==(const FutureBase & rhs) const
|
bool
Returns true if the two Futures reference the same result.
|
result_void() const
|
const void *
Result of the asynchronous call, or nullptr if the result is still pending.
|
status() const
|
Completion status of the asynchronous call.
|
Public types
CompletionCallback
void(* CompletionCallback)(const FutureBase &result_data, void *user_data)
Function pointer for a completion callback.
When we call this, we will send the completed future, along with the user data that you specified when you set up the callback.
Public functions
FutureBase
FutureBase()
Construct an untyped future.
FutureBase
FutureBase( const FutureBase & rhs )
Copy constructor and operator.
Increment the reference count when creating a copy of the future.
OnCompletion
void OnCompletion( CompletionCallback callback, void *user_data ) const
Register a single callback that will be called at most once, when the future is completed.
If you call any OnCompletion() method more than once on the same future, only the most recent callback you registered with OnCompletion() will be called. When your callback is called, the user_data that you supplied here will be passed back as the second parameter.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
OnCompletion
void OnCompletion( std::function< void(const FutureBase &)> callback ) const
Register a single callback that will be called at most once, when the future is completed.
If you call any OnCompletion() method more than once on the same future, only the most recent callback you registered with OnCompletion() will be called.
Details | |||
---|---|---|---|
Parameters |
|
Release
void Release()
Explicitly release the internal resources for a future.
Future will become invalid.
error
int error() const
When status() is firebase::kFutureStatusComplete, returns the API-defined error code.
Otherwise, return value is undefined.
error_message
const char * error_message() const
When status() is firebase::kFutureStatusComplete, returns the API-defined error message, as human-readable text, or an empty string if the API does not provide a human readable description of the error.
operator!=
bool operator!=( const FutureBase & rhs ) const
Returns true if the two Futures reference different results.
operator==
bool operator==( const FutureBase & rhs ) const
Returns true if the two Futures reference the same result.
result_void
const void * result_void() const
Result of the asynchronous call, or nullptr if the result is still pending.
Cast is required since GetFutureResult() returns void*.
~FutureBase
~FutureBase()