00001 //////////////////////////////////////////////////////////////////////////////// 00002 /// 00003 /// \file 00004 /// \author Gerald Fahrnholz 00005 /// 00006 /// \brief 00007 /// Interface ISimpleObject with callback ICallBackFromSimpleObject is used within the 00008 /// demo test aplication 00009 /// 00010 //////////////////////////////////////////////////////////////////////////////// 00011 00012 #pragma once 00013 ///\cond do not document 00014 00015 // Calback interface 00016 struct ICallBackFromSimpleObject 00017 { 00018 // Used for synchronous and asynchronous callbacks 00019 virtual void Result( 00020 long in_value) = 0; 00021 }; 00022 00023 // Interface to the object under test 00024 struct ISimpleObject 00025 { 00026 // Establishes connection using custom callback interface 00027 virtual void Connect( 00028 ICallBackFromSimpleObject* in_pICallBack) = 0; 00029 00030 // Returns result of calculation via synchronous callback 00031 virtual void CalcSync( 00032 long in_val) = 0; 00033 00034 // Returns result of calculation via asynchronous callback 00035 virtual void CalcAsync( 00036 long in_val) = 0; 00037 }; 00038 00039 ///\endcond do not document