Skip to content

Commit 49e8436

Browse files
authored
Adds support for loading SCANmotionControl.dll v1.0 and its dependency RTCService.dll (#22)
* Scanlab SMC Driver: Adds support for loading SCANmotionControl.dll v1.0 and its dependency RTCService.dll * Implements the loading of SCANmotionControl.dll v1.0 and its dependency RTCService.dll * Implements the execution of Build using SCANmotionControl.dll v1.0 Signed-off-by: Yury Rodzikau <[email protected]> * Scanlab SMC Driver: Implemented Additional API for Loading RTCService.dll * Added methods SetRTCServiceDLLResourceName and SetRTCServiceDLLResourceData to support loading of RTCService.dll. * Restored the previous method signatures for SetDLLResources and SetCustomDLLData. Signed-off-by: Yury Rodzikau [email protected] --------- Signed-off-by: Yury Rodzikau <[email protected]> Signed-off-by: Yury Rodzikau [email protected]
1 parent e2881ae commit 49e8436

13 files changed

+282
-6
lines changed

Drivers/ScanLabSMC/ACT/LibMCDriver_ScanLabSMC.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,9 @@
100100
<error name="LINEARPOWERVALUESAREINCOMPLETE" code="1046" description="Linear power values are incomplete." />
101101
<error name="NONLINEARPOWERVALUESAREINCOMPLETE" code="1047" description="Nonlinear power values are incomplete." />
102102
<error name="INTERPOLATIONDATAISNOTINCREASING" code="1048" description="Interpolation data is not increasing." />
103+
<error name="EMPTYRTCSERVICEDLLRESOURCENAME" code="1049" description="Empty RTC Service DLL Resource Name." />
104+
<error name="RTCSERVICERESOURCENOTFOUND" code="1050" description="RTC Service Resource not found." />
105+
<error name="EMPTYRTCSERVICEDLLRESOURCEDATA" code="1051" description="Empty RTC Service DLL Resource Data." />
103106

104107
</errors>
105108

@@ -140,6 +143,7 @@
140143
<option name="Unknown" value="0" />
141144
<option name="Version_0_8" value="8" />
142145
<option name="Version_0_9" value="9" />
146+
<option name="Version_1_0" value="10" />
143147
</enum>
144148

145149
<enum name="JobCharacteristic">
@@ -504,6 +508,10 @@ Custom implementation
504508
<param name="RTCDLLResourceName" type="string" pass="in" description="Resource name of RTC DLL" />
505509
</method>
506510

511+
<method name="SetRTCServiceDLLResourceName" description="Sets the default resource name of the RTC Service DLL. Overrides custom resource data if set before.">
512+
<param name="RTCServiceDLLResourceName" type="string" pass="in" description="Resource name of RTC Service DLL" />
513+
</method>
514+
507515
<method name="SetXercesDLLResource" description="Sets the default resource name of auxiliary resource DLLs. Overrides custom resource data if set before.">
508516
<param name="XercesDLLResourceName" type="string" pass="in" description="Resource name of the Xerces dependency DLL" />
509517
</method>
@@ -513,6 +521,10 @@ Custom implementation
513521
<param name="RTCDLLResourceData" type="basicarray" class="uint8" pass="in" description="Resource data of RTC DLL" />
514522
</method>
515523

524+
<method name="SetRTCServiceDLLResourceData" description="Sets custom binaries for the needed RTC Service DLLs. Overrides custom resource data if set before.">
525+
<param name="RTCServiceDLLResourceData" type="basicarray" class="uint8" pass="in" description="Resource data of RTC Service DLL" />
526+
</method>
527+
516528
<method name="SetCustomXercesDLLData" description="Sets the custom binary for auxiliary resource DLLs. Overrides custom resource data if set before.">
517529
<param name="XercesDLLResourceData" type="basicarray" class="uint8" pass="in" description="Resource data of the Xerces dependency DLL" />
518530
</method>

Drivers/ScanLabSMC/Headers/CppDynamic/libmcdriver_scanlabsmc_dynamic.h

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -626,6 +626,15 @@ typedef LibMCDriver_ScanLabSMCResult (*PLibMCDriver_ScanLabSMCSMCContext_DrawLay
626626
*/
627627
typedef LibMCDriver_ScanLabSMCResult (*PLibMCDriver_ScanLabSMCDriver_ScanLabSMC_SetDLLResourcesPtr) (LibMCDriver_ScanLabSMC_Driver_ScanLabSMC pDriver_ScanLabSMC, const char * pSMCDLLResourceName, const char * pRTCDLLResourceName);
628628

629+
/**
630+
* Sets the default resource name of the RTC Service DLL. Overrides custom resource data if set before.
631+
*
632+
* @param[in] pDriver_ScanLabSMC - Driver_ScanLabSMC instance.
633+
* @param[in] pRTCServiceDLLResourceName - Resource name of RTC Service DLL
634+
* @return error code or 0 (success)
635+
*/
636+
typedef LibMCDriver_ScanLabSMCResult (*PLibMCDriver_ScanLabSMCDriver_ScanLabSMC_SetRTCServiceDLLResourceNamePtr) (LibMCDriver_ScanLabSMC_Driver_ScanLabSMC pDriver_ScanLabSMC, const char * pRTCServiceDLLResourceName);
637+
629638
/**
630639
* Sets the default resource name of auxiliary resource DLLs. Overrides custom resource data if set before.
631640
*
@@ -647,6 +656,16 @@ typedef LibMCDriver_ScanLabSMCResult (*PLibMCDriver_ScanLabSMCDriver_ScanLabSMC_
647656
*/
648657
typedef LibMCDriver_ScanLabSMCResult (*PLibMCDriver_ScanLabSMCDriver_ScanLabSMC_SetCustomDLLDataPtr) (LibMCDriver_ScanLabSMC_Driver_ScanLabSMC pDriver_ScanLabSMC, LibMCDriver_ScanLabSMC_uint64 nSMCDLLResourceDataBufferSize, const LibMCDriver_ScanLabSMC_uint8 * pSMCDLLResourceDataBuffer, LibMCDriver_ScanLabSMC_uint64 nRTCDLLResourceDataBufferSize, const LibMCDriver_ScanLabSMC_uint8 * pRTCDLLResourceDataBuffer);
649658

659+
/**
660+
* Sets custom binaries for the needed RTC Service DLLs. Overrides custom resource data if set before.
661+
*
662+
* @param[in] pDriver_ScanLabSMC - Driver_ScanLabSMC instance.
663+
* @param[in] nRTCServiceDLLResourceDataBufferSize - Number of elements in buffer
664+
* @param[in] pRTCServiceDLLResourceDataBuffer - uint8 buffer of Resource data of RTC Service DLL
665+
* @return error code or 0 (success)
666+
*/
667+
typedef LibMCDriver_ScanLabSMCResult (*PLibMCDriver_ScanLabSMCDriver_ScanLabSMC_SetRTCServiceDLLResourceDataPtr) (LibMCDriver_ScanLabSMC_Driver_ScanLabSMC pDriver_ScanLabSMC, LibMCDriver_ScanLabSMC_uint64 nRTCServiceDLLResourceDataBufferSize, const LibMCDriver_ScanLabSMC_uint8 * pRTCServiceDLLResourceDataBuffer);
668+
650669
/**
651670
* Sets the custom binary for auxiliary resource DLLs. Overrides custom resource data if set before.
652671
*
@@ -856,8 +875,10 @@ typedef struct {
856875
PLibMCDriver_ScanLabSMCSMCContext_GetUnfinishedJobPtr m_SMCContext_GetUnfinishedJob;
857876
PLibMCDriver_ScanLabSMCSMCContext_DrawLayerPtr m_SMCContext_DrawLayer;
858877
PLibMCDriver_ScanLabSMCDriver_ScanLabSMC_SetDLLResourcesPtr m_Driver_ScanLabSMC_SetDLLResources;
878+
PLibMCDriver_ScanLabSMCDriver_ScanLabSMC_SetRTCServiceDLLResourceNamePtr m_Driver_ScanLabSMC_SetRTCServiceDLLResourceName;
859879
PLibMCDriver_ScanLabSMCDriver_ScanLabSMC_SetXercesDLLResourcePtr m_Driver_ScanLabSMC_SetXercesDLLResource;
860880
PLibMCDriver_ScanLabSMCDriver_ScanLabSMC_SetCustomDLLDataPtr m_Driver_ScanLabSMC_SetCustomDLLData;
881+
PLibMCDriver_ScanLabSMCDriver_ScanLabSMC_SetRTCServiceDLLResourceDataPtr m_Driver_ScanLabSMC_SetRTCServiceDLLResourceData;
861882
PLibMCDriver_ScanLabSMCDriver_ScanLabSMC_SetCustomXercesDLLDataPtr m_Driver_ScanLabSMC_SetCustomXercesDLLData;
862883
PLibMCDriver_ScanLabSMCDriver_ScanLabSMC_LoadSDKPtr m_Driver_ScanLabSMC_LoadSDK;
863884
PLibMCDriver_ScanLabSMCDriver_ScanLabSMC_CreateContextPtr m_Driver_ScanLabSMC_CreateContext;

Drivers/ScanLabSMC/Headers/CppDynamic/libmcdriver_scanlabsmc_dynamic.hpp

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,9 @@ class ELibMCDriver_ScanLabSMCException : public std::exception {
236236
case LIBMCDRIVER_SCANLABSMC_ERROR_LINEARPOWERVALUESAREINCOMPLETE: return "LINEARPOWERVALUESAREINCOMPLETE";
237237
case LIBMCDRIVER_SCANLABSMC_ERROR_NONLINEARPOWERVALUESAREINCOMPLETE: return "NONLINEARPOWERVALUESAREINCOMPLETE";
238238
case LIBMCDRIVER_SCANLABSMC_ERROR_INTERPOLATIONDATAISNOTINCREASING: return "INTERPOLATIONDATAISNOTINCREASING";
239+
case LIBMCDRIVER_SCANLABSMC_ERROR_EMPTYRTCSERVICEDLLRESOURCENAME: return "EMPTYRTCSERVICEDLLRESOURCENAME";
240+
case LIBMCDRIVER_SCANLABSMC_ERROR_RTCSERVICERESOURCENOTFOUND: return "RTCSERVICERESOURCENOTFOUND";
241+
case LIBMCDRIVER_SCANLABSMC_ERROR_EMPTYRTCSERVICEDLLRESOURCEDATA: return "EMPTYRTCSERVICEDLLRESOURCEDATA";
239242
}
240243
return "UNKNOWN";
241244
}
@@ -302,6 +305,9 @@ class ELibMCDriver_ScanLabSMCException : public std::exception {
302305
case LIBMCDRIVER_SCANLABSMC_ERROR_LINEARPOWERVALUESAREINCOMPLETE: return "Linear power values are incomplete.";
303306
case LIBMCDRIVER_SCANLABSMC_ERROR_NONLINEARPOWERVALUESAREINCOMPLETE: return "Nonlinear power values are incomplete.";
304307
case LIBMCDRIVER_SCANLABSMC_ERROR_INTERPOLATIONDATAISNOTINCREASING: return "Interpolation data is not increasing.";
308+
case LIBMCDRIVER_SCANLABSMC_ERROR_EMPTYRTCSERVICEDLLRESOURCENAME: return "Empty RTC Service DLL Resource Name.";
309+
case LIBMCDRIVER_SCANLABSMC_ERROR_RTCSERVICERESOURCENOTFOUND: return "RTC Service Resource not found.";
310+
case LIBMCDRIVER_SCANLABSMC_ERROR_EMPTYRTCSERVICEDLLRESOURCEDATA: return "Empty RTC Service DLL Resource Data.";
305311
}
306312
return "unknown error";
307313
}
@@ -623,8 +629,10 @@ class CDriver_ScanLabSMC : public CDriver {
623629
}
624630

625631
inline void SetDLLResources(const std::string & sSMCDLLResourceName, const std::string & sRTCDLLResourceName);
632+
inline void SetRTCServiceDLLResourceName(const std::string & sRTCServiceDLLResourceName);
626633
inline void SetXercesDLLResource(const std::string & sXercesDLLResourceName);
627634
inline void SetCustomDLLData(const CInputVector<LibMCDriver_ScanLabSMC_uint8> & SMCDLLResourceDataBuffer, const CInputVector<LibMCDriver_ScanLabSMC_uint8> & RTCDLLResourceDataBuffer);
635+
inline void SetRTCServiceDLLResourceData(const CInputVector<LibMCDriver_ScanLabSMC_uint8> & RTCServiceDLLResourceDataBuffer);
628636
inline void SetCustomXercesDLLData(const CInputVector<LibMCDriver_ScanLabSMC_uint8> & XercesDLLResourceDataBuffer);
629637
inline void LoadSDK();
630638
inline PSMCContext CreateContext(const std::string & sContextName, classParam<CSMCConfiguration> pSMCConfiguration);
@@ -813,8 +821,10 @@ class CDriver_ScanLabSMC : public CDriver {
813821
pWrapperTable->m_SMCContext_GetUnfinishedJob = nullptr;
814822
pWrapperTable->m_SMCContext_DrawLayer = nullptr;
815823
pWrapperTable->m_Driver_ScanLabSMC_SetDLLResources = nullptr;
824+
pWrapperTable->m_Driver_ScanLabSMC_SetRTCServiceDLLResourceName = nullptr;
816825
pWrapperTable->m_Driver_ScanLabSMC_SetXercesDLLResource = nullptr;
817826
pWrapperTable->m_Driver_ScanLabSMC_SetCustomDLLData = nullptr;
827+
pWrapperTable->m_Driver_ScanLabSMC_SetRTCServiceDLLResourceData = nullptr;
818828
pWrapperTable->m_Driver_ScanLabSMC_SetCustomXercesDLLData = nullptr;
819829
pWrapperTable->m_Driver_ScanLabSMC_LoadSDK = nullptr;
820830
pWrapperTable->m_Driver_ScanLabSMC_CreateContext = nullptr;
@@ -1384,6 +1394,15 @@ class CDriver_ScanLabSMC : public CDriver {
13841394
if (pWrapperTable->m_Driver_ScanLabSMC_SetDLLResources == nullptr)
13851395
return LIBMCDRIVER_SCANLABSMC_ERROR_COULDNOTFINDLIBRARYEXPORT;
13861396

1397+
#ifdef _WIN32
1398+
pWrapperTable->m_Driver_ScanLabSMC_SetRTCServiceDLLResourceName = (PLibMCDriver_ScanLabSMCDriver_ScanLabSMC_SetRTCServiceDLLResourceNamePtr) GetProcAddress(hLibrary, "libmcdriver_scanlabsmc_driver_scanlabsmc_setrtcservicedllresourcename");
1399+
#else // _WIN32
1400+
pWrapperTable->m_Driver_ScanLabSMC_SetRTCServiceDLLResourceName = (PLibMCDriver_ScanLabSMCDriver_ScanLabSMC_SetRTCServiceDLLResourceNamePtr) dlsym(hLibrary, "libmcdriver_scanlabsmc_driver_scanlabsmc_setrtcservicedllresourcename");
1401+
dlerror();
1402+
#endif // _WIN32
1403+
if (pWrapperTable->m_Driver_ScanLabSMC_SetRTCServiceDLLResourceName == nullptr)
1404+
return LIBMCDRIVER_SCANLABSMC_ERROR_COULDNOTFINDLIBRARYEXPORT;
1405+
13871406
#ifdef _WIN32
13881407
pWrapperTable->m_Driver_ScanLabSMC_SetXercesDLLResource = (PLibMCDriver_ScanLabSMCDriver_ScanLabSMC_SetXercesDLLResourcePtr) GetProcAddress(hLibrary, "libmcdriver_scanlabsmc_driver_scanlabsmc_setxercesdllresource");
13891408
#else // _WIN32
@@ -1402,6 +1421,15 @@ class CDriver_ScanLabSMC : public CDriver {
14021421
if (pWrapperTable->m_Driver_ScanLabSMC_SetCustomDLLData == nullptr)
14031422
return LIBMCDRIVER_SCANLABSMC_ERROR_COULDNOTFINDLIBRARYEXPORT;
14041423

1424+
#ifdef _WIN32
1425+
pWrapperTable->m_Driver_ScanLabSMC_SetRTCServiceDLLResourceData = (PLibMCDriver_ScanLabSMCDriver_ScanLabSMC_SetRTCServiceDLLResourceDataPtr) GetProcAddress(hLibrary, "libmcdriver_scanlabsmc_driver_scanlabsmc_setrtcservicedllresourcedata");
1426+
#else // _WIN32
1427+
pWrapperTable->m_Driver_ScanLabSMC_SetRTCServiceDLLResourceData = (PLibMCDriver_ScanLabSMCDriver_ScanLabSMC_SetRTCServiceDLLResourceDataPtr) dlsym(hLibrary, "libmcdriver_scanlabsmc_driver_scanlabsmc_setrtcservicedllresourcedata");
1428+
dlerror();
1429+
#endif // _WIN32
1430+
if (pWrapperTable->m_Driver_ScanLabSMC_SetRTCServiceDLLResourceData == nullptr)
1431+
return LIBMCDRIVER_SCANLABSMC_ERROR_COULDNOTFINDLIBRARYEXPORT;
1432+
14051433
#ifdef _WIN32
14061434
pWrapperTable->m_Driver_ScanLabSMC_SetCustomXercesDLLData = (PLibMCDriver_ScanLabSMCDriver_ScanLabSMC_SetCustomXercesDLLDataPtr) GetProcAddress(hLibrary, "libmcdriver_scanlabsmc_driver_scanlabsmc_setcustomxercesdlldata");
14071435
#else // _WIN32
@@ -1777,6 +1805,10 @@ class CDriver_ScanLabSMC : public CDriver {
17771805
if ( (eLookupError != 0) || (pWrapperTable->m_Driver_ScanLabSMC_SetDLLResources == nullptr) )
17781806
return LIBMCDRIVER_SCANLABSMC_ERROR_COULDNOTFINDLIBRARYEXPORT;
17791807

1808+
eLookupError = (*pLookup)("libmcdriver_scanlabsmc_driver_scanlabsmc_setrtcservicedllresourcename", (void**)&(pWrapperTable->m_Driver_ScanLabSMC_SetRTCServiceDLLResourceName));
1809+
if ( (eLookupError != 0) || (pWrapperTable->m_Driver_ScanLabSMC_SetRTCServiceDLLResourceName == nullptr) )
1810+
return LIBMCDRIVER_SCANLABSMC_ERROR_COULDNOTFINDLIBRARYEXPORT;
1811+
17801812
eLookupError = (*pLookup)("libmcdriver_scanlabsmc_driver_scanlabsmc_setxercesdllresource", (void**)&(pWrapperTable->m_Driver_ScanLabSMC_SetXercesDLLResource));
17811813
if ( (eLookupError != 0) || (pWrapperTable->m_Driver_ScanLabSMC_SetXercesDLLResource == nullptr) )
17821814
return LIBMCDRIVER_SCANLABSMC_ERROR_COULDNOTFINDLIBRARYEXPORT;
@@ -1785,6 +1817,10 @@ class CDriver_ScanLabSMC : public CDriver {
17851817
if ( (eLookupError != 0) || (pWrapperTable->m_Driver_ScanLabSMC_SetCustomDLLData == nullptr) )
17861818
return LIBMCDRIVER_SCANLABSMC_ERROR_COULDNOTFINDLIBRARYEXPORT;
17871819

1820+
eLookupError = (*pLookup)("libmcdriver_scanlabsmc_driver_scanlabsmc_setrtcservicedllresourcedata", (void**)&(pWrapperTable->m_Driver_ScanLabSMC_SetRTCServiceDLLResourceData));
1821+
if ( (eLookupError != 0) || (pWrapperTable->m_Driver_ScanLabSMC_SetRTCServiceDLLResourceData == nullptr) )
1822+
return LIBMCDRIVER_SCANLABSMC_ERROR_COULDNOTFINDLIBRARYEXPORT;
1823+
17881824
eLookupError = (*pLookup)("libmcdriver_scanlabsmc_driver_scanlabsmc_setcustomxercesdlldata", (void**)&(pWrapperTable->m_Driver_ScanLabSMC_SetCustomXercesDLLData));
17891825
if ( (eLookupError != 0) || (pWrapperTable->m_Driver_ScanLabSMC_SetCustomXercesDLLData == nullptr) )
17901826
return LIBMCDRIVER_SCANLABSMC_ERROR_COULDNOTFINDLIBRARYEXPORT;
@@ -2514,6 +2550,15 @@ class CDriver_ScanLabSMC : public CDriver {
25142550
CheckError(m_pWrapper->m_WrapperTable.m_Driver_ScanLabSMC_SetDLLResources(m_pHandle, sSMCDLLResourceName.c_str(), sRTCDLLResourceName.c_str()));
25152551
}
25162552

2553+
/**
2554+
* CDriver_ScanLabSMC::SetRTCServiceDLLResourceName - Sets the default resource name of the RTC Service DLL. Overrides custom resource data if set before.
2555+
* @param[in] sRTCServiceDLLResourceName - Resource name of RTC Service DLL
2556+
*/
2557+
void CDriver_ScanLabSMC::SetRTCServiceDLLResourceName(const std::string & sRTCServiceDLLResourceName)
2558+
{
2559+
CheckError(m_pWrapper->m_WrapperTable.m_Driver_ScanLabSMC_SetRTCServiceDLLResourceName(m_pHandle, sRTCServiceDLLResourceName.c_str()));
2560+
}
2561+
25172562
/**
25182563
* CDriver_ScanLabSMC::SetXercesDLLResource - Sets the default resource name of auxiliary resource DLLs. Overrides custom resource data if set before.
25192564
* @param[in] sXercesDLLResourceName - Resource name of the Xerces dependency DLL
@@ -2533,6 +2578,15 @@ class CDriver_ScanLabSMC : public CDriver {
25332578
CheckError(m_pWrapper->m_WrapperTable.m_Driver_ScanLabSMC_SetCustomDLLData(m_pHandle, (LibMCDriver_ScanLabSMC_uint64)SMCDLLResourceDataBuffer.size(), SMCDLLResourceDataBuffer.data(), (LibMCDriver_ScanLabSMC_uint64)RTCDLLResourceDataBuffer.size(), RTCDLLResourceDataBuffer.data()));
25342579
}
25352580

2581+
/**
2582+
* CDriver_ScanLabSMC::SetRTCServiceDLLResourceData - Sets custom binaries for the needed RTC Service DLLs. Overrides custom resource data if set before.
2583+
* @param[in] RTCServiceDLLResourceDataBuffer - Resource data of RTC Service DLL
2584+
*/
2585+
void CDriver_ScanLabSMC::SetRTCServiceDLLResourceData(const CInputVector<LibMCDriver_ScanLabSMC_uint8> & RTCServiceDLLResourceDataBuffer)
2586+
{
2587+
CheckError(m_pWrapper->m_WrapperTable.m_Driver_ScanLabSMC_SetRTCServiceDLLResourceData(m_pHandle, (LibMCDriver_ScanLabSMC_uint64)RTCServiceDLLResourceDataBuffer.size(), RTCServiceDLLResourceDataBuffer.data()));
2588+
}
2589+
25362590
/**
25372591
* CDriver_ScanLabSMC::SetCustomXercesDLLData - Sets the custom binary for auxiliary resource DLLs. Overrides custom resource data if set before.
25382592
* @param[in] XercesDLLResourceDataBuffer - Resource data of the Xerces dependency DLL

Drivers/ScanLabSMC/Headers/CppDynamic/libmcdriver_scanlabsmc_types.hpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,9 @@ typedef void * LibMCDriver_ScanLabSMC_pvoid;
154154
#define LIBMCDRIVER_SCANLABSMC_ERROR_LINEARPOWERVALUESAREINCOMPLETE 1046 /** Linear power values are incomplete. */
155155
#define LIBMCDRIVER_SCANLABSMC_ERROR_NONLINEARPOWERVALUESAREINCOMPLETE 1047 /** Nonlinear power values are incomplete. */
156156
#define LIBMCDRIVER_SCANLABSMC_ERROR_INTERPOLATIONDATAISNOTINCREASING 1048 /** Interpolation data is not increasing. */
157+
#define LIBMCDRIVER_SCANLABSMC_ERROR_EMPTYRTCSERVICEDLLRESOURCENAME 1049 /** Empty RTC Service DLL Resource Name. */
158+
#define LIBMCDRIVER_SCANLABSMC_ERROR_RTCSERVICERESOURCENOTFOUND 1050 /** RTC Service Resource not found. */
159+
#define LIBMCDRIVER_SCANLABSMC_ERROR_EMPTYRTCSERVICEDLLRESOURCEDATA 1051 /** Empty RTC Service DLL Resource Data. */
157160

158161
/*************************************************************************************************************************
159162
Error strings for LibMCDriver_ScanLabSMC
@@ -220,6 +223,9 @@ inline const char * LIBMCDRIVER_SCANLABSMC_GETERRORSTRING (LibMCDriver_ScanLabSM
220223
case LIBMCDRIVER_SCANLABSMC_ERROR_LINEARPOWERVALUESAREINCOMPLETE: return "Linear power values are incomplete.";
221224
case LIBMCDRIVER_SCANLABSMC_ERROR_NONLINEARPOWERVALUESAREINCOMPLETE: return "Nonlinear power values are incomplete.";
222225
case LIBMCDRIVER_SCANLABSMC_ERROR_INTERPOLATIONDATAISNOTINCREASING: return "Interpolation data is not increasing.";
226+
case LIBMCDRIVER_SCANLABSMC_ERROR_EMPTYRTCSERVICEDLLRESOURCENAME: return "Empty RTC Service DLL Resource Name.";
227+
case LIBMCDRIVER_SCANLABSMC_ERROR_RTCSERVICERESOURCENOTFOUND: return "RTC Service Resource not found.";
228+
case LIBMCDRIVER_SCANLABSMC_ERROR_EMPTYRTCSERVICEDLLRESOURCEDATA: return "Empty RTC Service DLL Resource Data.";
223229
default: return "unknown error";
224230
}
225231
}
@@ -264,7 +270,8 @@ namespace LibMCDriver_ScanLabSMC {
264270
enum class eSMCConfigVersion : LibMCDriver_ScanLabSMC_int32 {
265271
Unknown = 0,
266272
Version_0_8 = 8,
267-
Version_0_9 = 9
273+
Version_0_9 = 9,
274+
Version_1_0 = 10
268275
};
269276

270277
enum class eJobCharacteristic : LibMCDriver_ScanLabSMC_int32 {

Drivers/ScanLabSMC/Implementation/libmcdriver_scanlabsmc.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,9 @@ IDriver * CWrapper::CreateDriver(const std::string & sName, const std::string &
8484
if (sType == "scanlab-smc-0.9")
8585
return new CDriver_ScanLabSMC(sName, sType, pDriverEnvironment);
8686

87+
if (sType == "scanlab-smc-1.0")
88+
return new CDriver_ScanLabSMC(sName, sType, pDriverEnvironment);
89+
8790
if (sType == "scanlab-smc-latest")
8891
return new CDriver_ScanLabSMC(sName, sType, pDriverEnvironment);
8992

0 commit comments

Comments
 (0)