All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
ISerialAdapterCStyle.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------------
2 // (c) 2009 by Basler
3 // Section: Digital Imaging
4 // Project: CLProtocol
5 // Author: Fritz Dierks
6 // $Header$
7 //
8 // License: This file is published under the license of the EMVA GenICam Standard Group.
9 // A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
10 // If for some reason you are missing this file please contact the EMVA or visit the website
11 // (http://www.genicam.org) for a full copy.
12 //
13 // THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
14 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15 // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
17 // OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
20 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
21 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
23 // POSSIBILITY OF SUCH DAMAGE.
24 //-----------------------------------------------------------------------------
29 #ifndef CLPROTOCOL_ISERIALADAPTERCSTYLE_H
30 #define CLPROTOCOL_ISERIALADAPTERCSTYLE_H
31 
33 
34 #if( defined(__cplusplus) || defined(__cplusplus__) )
35  extern "C"
36 #else
37  namespace CLProtocol
38 #endif
39  // The following declarations enable you to create an ISerialAdapter using pure C.
40  // For an example see RequirementsAndTests::TestIStructCVersion in CLProtocolTest
41  // The following link gives some technical background http://www.codeproject.com/KB/COM/com_in_c1.aspx
42  {
43 
45  void * This,
46  CLINT8* buffer,
47  CLUINT32* bufferSize,
48  CLUINT32 serialTimeOut
49  );
50 
52  void * This,
53  CLINT8* buffer,
54  CLUINT32* bufferSize,
55  CLUINT32 serialTimeOut
56  );
57 
59  void * This,
60  CLUINT32 *baudRates
61  );
62 
64  void * This,
65  CLUINT32 baudRate
66  );
67 
69  void * This
70  );
71 
72  typedef void (CLPROTOCOL *SerialClosePtr)(
73  void * This
74  );
75 
76  typedef void (CLPROTOCOL *CheckErrorPtr)(
77  void * This,
78  CLUINT32 ErrorCode
79  );
80 
81  typedef struct ISerialAdapterVtbl_t
82  {
91 
92  typedef struct ISerialAdapter_t
93  {
96 
97  }
98 
99 #endif
CLProtocol::ISerialAdapterVtbl_t::CheckError
CheckErrorPtr * CheckError
Definition: ISerialAdapterCStyle.h:89
CLProtocol::ISerialAdapterVtbl_t::SerialInit
SerialInitPtr * SerialInit
Definition: ISerialAdapterCStyle.h:87
CLProtocol::clSerialWritePtr
CLINT32(CLPROTOCOL * clSerialWritePtr)(void *This, CLINT8 *buffer, CLUINT32 *bufferSize, CLUINT32 serialTimeOut)
Definition: ISerialAdapterCStyle.h:51
CLProtocol
Definition: CLAllAdapter.h:64
CLProtocol::ISerialAdapterVtbl_t
struct CLProtocol::ISerialAdapterVtbl_t ISerialAdapterVtbl_t
CLProtocol::ISerialAdapter_t
Definition: ISerialAdapterCStyle.h:92
CLProtocol::clSerialReadPtr
CLINT32(CLPROTOCOL * clSerialReadPtr)(void *This, CLINT8 *buffer, CLUINT32 *bufferSize, CLUINT32 serialTimeOut)
Definition: ISerialAdapterCStyle.h:44
CLProtocol::ISerialAdapterVtbl_t::clGetSupportedBaudRates
clGetSupportedBaudRatesPtr * clGetSupportedBaudRates
Definition: ISerialAdapterCStyle.h:85
CLProtocol::clSetBaudRatePtr
CLINT32(CLPROTOCOL * clSetBaudRatePtr)(void *This, CLUINT32 baudRate)
Definition: ISerialAdapterCStyle.h:63
CLINT8
char CLINT8
Definition: ClSerialTypes.h:126
CLUINT32
unsigned int CLUINT32
Definition: ClSerialTypes.h:105
CLProtocol::ISerialAdapterVtbl_t::clSetBaudRate
clSetBaudRatePtr * clSetBaudRate
Definition: ISerialAdapterCStyle.h:86
CLProtocol::SerialClosePtr
void(CLPROTOCOL * SerialClosePtr)(void *This)
Definition: ISerialAdapterCStyle.h:72
CLProtocol::ISerialAdapterVtbl_t
Definition: ISerialAdapterCStyle.h:81
CLProtocol::ISerialAdapter_t::lpVtbl
struct ISerialAdapterVtbl_t * lpVtbl
Definition: ISerialAdapterCStyle.h:94
CLProtocol::ISerialAdapter_t
struct CLProtocol::ISerialAdapter_t ISerialAdapter_t
CLProtocol::ISerialAdapterVtbl_t::clSerialWrite
clSerialWritePtr * clSerialWrite
Definition: ISerialAdapterCStyle.h:84
CLProtocol::ISerialAdapterVtbl_t::clSerialRead
clSerialReadPtr * clSerialRead
Definition: ISerialAdapterCStyle.h:83
CLProtocol::clGetSupportedBaudRatesPtr
CLINT32(CLPROTOCOL * clGetSupportedBaudRatesPtr)(void *This, CLUINT32 *baudRates)
Definition: ISerialAdapterCStyle.h:58
ISerialAdapter.h
CLINT32
int CLINT32
Definition: ClSerialTypes.h:100
CLProtocol::SerialInitPtr
CLINT32(CLPROTOCOL * SerialInitPtr)(void *This)
Definition: ISerialAdapterCStyle.h:68
CLProtocol::ISerialAdapterVtbl_t::SerialClose
SerialClosePtr * SerialClose
Definition: ISerialAdapterCStyle.h:88
CLProtocol::CheckErrorPtr
void(CLPROTOCOL * CheckErrorPtr)(void *This, CLUINT32 ErrorCode)
Definition: ISerialAdapterCStyle.h:76
CLPROTOCOL
#define CLPROTOCOL
Definition: CLProtocol.h:73


rc_genicam_api
Author(s): Heiko Hirschmueller
autogenerated on Wed Dec 4 2024 03:10:11