111 lines
3.1 KiB
C
111 lines
3.1 KiB
C
/*
|
|
* PUBLISHed header for libmclcommain, the mclcommain library.
|
|
*
|
|
* Copyright 1984-2012 The MathWorks, Inc.
|
|
* All Rights Reserved.
|
|
*/
|
|
|
|
#if defined(_MSC_VER)
|
|
# pragma once
|
|
#endif
|
|
#if defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 3))
|
|
# pragma once
|
|
#endif
|
|
|
|
#ifndef mclcommain_h
|
|
#define mclcommain_h
|
|
|
|
|
|
#ifndef MCLCOMMAIN_API
|
|
# define MCLCOMMAIN_API
|
|
#endif
|
|
|
|
|
|
/* Only define EXTERN_C if it hasn't been defined already. This allows
|
|
* individual modules to have more control over managing their exports.
|
|
*/
|
|
#ifndef EXTERN_C
|
|
|
|
#ifdef __cplusplus
|
|
#define EXTERN_C extern "C"
|
|
#else
|
|
#define EXTERN_C extern
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
/* Register a MatLab Excel Builder component */
|
|
EXTERN_C MCLCOMMAIN_API HRESULT mclRegisterMatLabComponent(const char* szModuleName, /* DLL module handle */
|
|
const CLSID* clsid, /* Class ID */
|
|
const GUID* libid, /* GUID of TypeLib */
|
|
unsigned short wMajorRev, /* Major rev of type lib */
|
|
unsigned short wMinorRev, /* Minor rev of type lib */
|
|
const char* szFriendlyName, /* Friendly Name */
|
|
const char* szVerIndProgID, /* Programmatic */
|
|
const char* szProgID) /* IDs */;
|
|
|
|
|
|
/* Unregister a MatLab Excel Builder component */
|
|
EXTERN_C MCLCOMMAIN_API HRESULT mclUnRegisterMatLabComponent(const CLSID* clsid, /* Class ID */
|
|
const char* szVerIndProgID, /* Programmatic */
|
|
const char* szProgID) /* IDs */;
|
|
|
|
|
|
/*
|
|
Aquire global lock. Returns 0 for successful aquisition, -1 otherwise.
|
|
If the global mutex is not initialized, or if the wait function fails,
|
|
-1 is returned.
|
|
*/
|
|
EXTERN_C MCLCOMMAIN_API int RequestGlobalLock(void);
|
|
|
|
|
|
/*
|
|
Release global lock. Returns 0. If the global mutex is not initialized,
|
|
-1 is returned.
|
|
*/
|
|
EXTERN_C MCLCOMMAIN_API int ReleaseGlobalLock(void);
|
|
|
|
|
|
EXTERN_C MCLCOMMAIN_API HRESULT GetConversionFlags(IMWFlags* pFlags, MCLCONVERSION_FLAGS flags);
|
|
|
|
|
|
/* Converts an mxArray to a Variant */
|
|
EXTERN_C MCLCOMMAIN_API int mxArray2Variant(const mxArray* px, VARIANT* pvar, const MCLCONVERSION_FLAGS flags);
|
|
|
|
|
|
/* Converts a Variant to an mxArray */
|
|
EXTERN_C MCLCOMMAIN_API int Variant2mxArray(const VARIANT* pvar, mxArray** ppx, const MCLCONVERSION_FLAGS flags);
|
|
|
|
|
|
/*
|
|
If input VARIANT is VT_ERROR && v->scode == DISP_E_PARAMNOTFOUND, returns true.
|
|
Returns false otherwise. If input variant is *|VT_BYREF and reference is NULL, returns true.
|
|
If input variant pointer is NULL, returns true.
|
|
*/
|
|
EXTERN_C MCLCOMMAIN_API bool IsVisualBasicDefault(const VARIANT *v);
|
|
|
|
|
|
EXTERN_C MCLCOMMAIN_API void InitConversionFlags(MCLCONVERSION_FLAGS flags);
|
|
|
|
|
|
EXTERN_C MCLCOMMAIN_API const char* GetCOMErrorMessage(int ret);
|
|
|
|
|
|
EXTERN_C MCLCOMMAIN_API bool mclComCheckMWComUtil();
|
|
|
|
|
|
EXTERN_C MCLCOMMAIN_API bool mclComCheckMWComMgr();
|
|
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif /* mclcommain_h */
|