Наследует все свойства и методы хэндла асинхронной процедуры. Является шаблонным классом, параметр шаблона - тип возвращаемого асинхронным методом значения.
С одной процедурой может быть связано несколько результатов. Класс результата поддерживает операции копирования и приведения к типу возвращаемого асинхронным методом значения.
Данный класс обеспечивает многопоточность.
См. определение в файле AsyncProcResultDef.h строка 35
Открытые члены | |
AsyncProcResult () | |
Конструктор по умолчанию. | |
const ResT & | Value () const |
Получить значение результата асинхронного метода. | |
operator const ResT & () const | |
Оператор приведения к типу возвращаемого асинхронным методом значения. | |
template<typename ClassT, typename MethodT> | |
AsyncProcResult & | BindFinishToThreadProc (ClassT Object, MethodT Method, ThreadPriority Priority=tpNormal, bool HoldRef=true) |
Метод аналогичен методу SetFinishProc. | |
template<typename ClassT, typename MethodT> | |
AsyncProcResult & | BindFinishToDeferProc (ClassT Object, MethodT Method, SynchroSpace::Ptr Space=SynchroSpace::Ptr(), bool HoldRef=true) |
Метод аналогичен методу SetFinishProc. | |
template<typename ClassT, typename MethodT> | |
AsyncProcResult & | BindFinishToDirectProc (ClassT Object, MethodT Method, bool HoldRef=true) |
Метод аналогичен методу SetFinishProc. | |
Друзья | |
class | SpecUtils::AsyncProcResImpl |
Cntm::AsyncProcResult< ResT >::AsyncProcResult | ( | ) | [inline] |
Конструктор по умолчанию.
Создает результат, не связанный с асинхронной процедурой.
См. определение в файле AsyncProcResultDef.h строка 42
const ResT& Cntm::AsyncProcResult< ResT >::Value | ( | ) | const [inline] |
Получить значение результата асинхронного метода.
Значение результата становится доступным только после успешного завершения асинхронной процедуры. Если данный метод был вызван до завершения, то он производит ожидание завершения процедуры. Если выполнение закончилось удачно, то будет возвращено значение результата, в противном случае будет сгенерировано исключение Cntm::NoneAsyncResultException, т.к. значение результата уже никогда не будет получено.
Исключение: NoneAsyncResultException - попытка получения результата процедуры, завершившейся с ошибкой.
См. определение в файле AsyncProcResultDef.h строка 51
Перекрестные ссылки Cntm::RefPtr< T >::Pointer() и Cntm::AsyncProcHandle::Proc().
Cntm::AsyncProcResult< ResT >::operator const ResT & | ( | ) | const [inline] |
Оператор приведения к типу возвращаемого асинхронным методом значения.
Вызывает метод Value().
Исключение: NoneAsyncResultException - попытка получения результата процедуры, завершившейся с ошибкой.
См. определение в файле AsyncProcResultDef.h строка 63
Перекрестные ссылки Cntm::AsyncProcResult< ResT >::Value().
Cntm::AsyncProcResult< ResT > & Cntm::AsyncProcResult< ResT >::BindFinishToThreadProc | ( | ClassT | Object, | |
MethodT | Method, | |||
ThreadPriority | Priority = tpNormal , |
|||
bool | HoldRef = true | |||
) | [inline] |
Метод аналогичен методу SetFinishProc.
Данный метод принимает объект и метод и формирует отсроченную потоковую процедуру на основе указанных данных. В качестве аргумента указывается данный объект, что позволяет обработчику завершения получить результат выполнения.
Сигнатура метода Method должна иметь вид: "void(const AsyncProcHandle& res)".
Для удобства использования возвращается этот же объект.
См. Cntm::AsyncProc::SuspendThread.
Object | - объект-обработчик. Задается обычным указателем. | |
Method | - метод объекта Object, который будет вызван синхронизированно в указанном синхропространстве. | |
Priority | - приоритет потока, опционально, значение по умолчанию - tpNormal (см. перечисление Cntm::BasicAsyncProc::ThreadPriority). | |
HoldRef | - хранить ли ссылку на объект Object, если это ссылочный объект. Параметр опциональный, значение по умолчанию - true. |
Переопределяет метод предка Cntm::AsyncProcHandle.
См. определение в файле AsyncProcResultImpl.h строка 20
Перекрестные ссылки Cntm::AsyncProcHandle::SetFinishProc() и Cntm::AsyncProc::SuspendThread().
Cntm::AsyncProcResult< ResT > & Cntm::AsyncProcResult< ResT >::BindFinishToDeferProc | ( | ClassT | Object, | |
MethodT | Method, | |||
SynchroSpace::Ptr | Space = SynchroSpace::Ptr() , |
|||
bool | HoldRef = true | |||
) | [inline] |
Метод аналогичен методу SetFinishProc.
Данный метод принимает объект и метод и формирует отсроченную отложенную процедуру на основе указанных данных. В качестве аргумента указывается данный объект, что позволяет обработчику завершения получить результат выполнения.
Сигнатура метода Method должна иметь вид: "void(const AsyncProcHandle& res)".
Для удобства использования возвращается этот же объект.
См. Cntm::AsyncProc::SuspendDefer.
Object | - объект-обработчик. Задается обычным указателем. | |
Method | - метод объекта Object, который будет вызван синхронизированно в указанном синхропространстве. | |
Space | - синхропространство, в котором будет выполнен метод. Если явно не указано, тоиспользуется синхропространство объекта Object, если это синхрообъект, иначе используется главное синхропространство. | |
HoldRef | - хранить ли ссылку на объект Object, если это ссылочный объект. Параметр опциональный, значение по умолчанию - true. |
Переопределяет метод предка Cntm::AsyncProcHandle.
См. определение в файле AsyncProcResultImpl.h строка 32
Перекрестные ссылки Cntm::AsyncProcHandle::SetFinishProc() и Cntm::AsyncProc::SuspendDefer().
Cntm::AsyncProcResult< ResT > & Cntm::AsyncProcResult< ResT >::BindFinishToDirectProc | ( | ClassT | Object, | |
MethodT | Method, | |||
bool | HoldRef = true | |||
) | [inline] |
Метод аналогичен методу SetFinishProc.
Данный метод принимает объект и метод и формирует отсроченную прямую процедуру на основе указанных данных. В качестве аргумента указывается данный объект, что позволяет обработчику завершения получить результат выполнения.
Сигнатура метода Method должна иметь вид: "void(const AsyncProcHandle& res)".
Для удобства использования возвращается этот же объект.
См. Cntm::AsyncProc::SuspendDirect.
Object | - объект-обработчик. Задается обычным указателем. | |
Method | - метод объекта Object, который будет вызван синхронизированно в указанном синхропространстве. | |
HoldRef | - хранить ли ссылку на объект Object, если это ссылочный объект. Параметр опциональный, значение по умолчанию - true. |
Переопределяет метод предка Cntm::AsyncProcHandle.
См. определение в файле AsyncProcResultImpl.h строка 44
Перекрестные ссылки Cntm::AsyncProcHandle::SetFinishProc() и Cntm::AsyncProc::SuspendDirect().
friend class SpecUtils::AsyncProcResImpl [friend] |
См. определение в файле AsyncProcResultDef.h строка 122
© Овсеевич Р.В. Документация по CntmLib 1.1.4 от 28 May 2008. Создано системой 1.5.3 |