Isomet Modular Synthesiser (iMS) API  v1.4.2
iMS API
IBulkTransfer.h
Go to the documentation of this file.
1 /*-----------------------------------------------------------------------------
2 / Title : Bulk Transfer (large binary data) Interface Header
3 / Project : Isomet Modular Synthesiser System
4 /------------------------------------------------------------------------------
5 / File : $URL: http://nutmeg.qytek.lan/svn/sw/trunk/09-Isomet/iMS_SDK/API/Other/h/IBulkTransfer.h $
6 / Author : $Author: dave $
7 / Company : Isomet (UK) Ltd
8 / Created : 2015-04-09
9 / Last update: $Date: 2017-09-11 23:55:34 +0100 (Mon, 11 Sep 2017) $
10 / Platform :
11 / Standard : C++11
12 / Revision : $Rev: 300 $
13 /------------------------------------------------------------------------------
14 / Description: Interface Specification class for sending large binary data objects to the iMS
15 /------------------------------------------------------------------------------
16 / Copyright (c) 2015 Isomet (UK) Ltd. All Rights Reserved.
17 /------------------------------------------------------------------------------
18 / Revisions :
19 / Date Version Author Description
20 / 2015-04-09 1.0 dc Created
21 /
22 /----------------------------------------------------------------------------*/
23 
34 
35 #ifndef IMS_BULKTRANSFER_H__
36 #define IMS_BULKTRANSFER_H__
37 
38 #include "IMSSystem.h"
39 
41 #if defined _WIN32 || defined __CYGWIN__
42  #ifdef __GNUC__
43  #define DLL_EXPORT __attribute__ ((dllexport))
44  #define DLL_IMPORT __attribute__ ((dllimport))
45  #else
46  #define DLL_EXPORT __declspec(dllexport) // Note: actually gcc seems to also supports this syntax.
47  #define DLL_IMPORT __declspec(dllimport) // Note: actually gcc seems to also supports this syntax.
48  #endif
49  #define DLL_LOCAL
50 #else
51  #if __GNUC__ >= 4
52  #define DLL_EXPORT __attribute__ ((visibility ("default")))
53  #define DLL_IMPORT __attribute__ ((visibility ("default")))
54  #define DLL_LOCAL __attribute__ ((visibility ("hidden")))
55  #else
56  #define DLL_EXPORT
57  #define DLL_IMPORT
58  #define DLL_LOCAL
59  #endif
60 #endif
61 
62 #if defined(_EXPORTING_IMS)
63  #define LIBSPEC DLL_EXPORT
64  #define LIBLOCAL DLL_LOCAL
65  #define EXPIMP_TEMPLATE
66 #elif defined(_STATIC_IMS)
67  #define LIBSPEC
68  #define LIBLOCAL
69  #define EXPIMP_TEMPLATE
70 #else
71  #define LIBSPEC DLL_IMPORT
72  #define LIBLOCAL DLL_LOCAL
73  #define EXPIMP_TEMPLATE extern
74 #endif
75 
77 namespace iMS {
102  class LIBSPEC IBulkTransfer
103  {
104  public:
105  virtual ~IBulkTransfer() {}
106 
115  virtual bool StartDownload() = 0;
116 
125  virtual bool StartVerify() = 0;
126 
147  virtual int GetVerifyError() = 0;
148  };
149 
150 }
151 
152 #undef EXPIMP_TEMPLATE
153 #undef LIBSPEC
154 #endif
Interface Specification class for sending large binary data objects to the iMS.
Definition: IBulkTransfer.h:102
The entire API is encapsulated by the iMS namespace.
Definition: Auxiliary.h:95
Classes within this group are used to store information about an iMS System and to Connect / Disconne...