diff options
Diffstat (limited to 'com/ProjDef.h')
| -rwxr-xr-x | com/ProjDef.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/com/ProjDef.h b/com/ProjDef.h new file mode 100755 index 00000000..017bf48f --- /dev/null +++ b/com/ProjDef.h @@ -0,0 +1,49 @@ +// ProjDef.h : Declaration of the CProjDef + +#ifndef __PROJDEF_H_ +#define __PROJDEF_H_ + +#include "resource.h" // main symbols + +///////////////////////////////////////////////////////////////////////////// +// CProjDef +class ATL_NO_VTABLE CProjDef : + public CComObjectRootEx<CComMultiThreadModel>, + public CComCoClass<CProjDef, &CLSID_ProjDef>, + public IDispatchImpl<IProjDef, &IID_IProjDef, &LIBID_PROJ4Lib> +{ +public: + CProjDef() + { + psProj = NULL; + sLastError = NULL; + SetError(""); + } + +DECLARE_REGISTRY_RESOURCEID(IDR_PROJDEF) + +DECLARE_PROTECT_FINAL_CONSTRUCT() + +BEGIN_COM_MAP(CProjDef) + COM_INTERFACE_ENTRY(IProjDef) + COM_INTERFACE_ENTRY(IDispatch) +END_COM_MAP() + +// IProjDef +public: + STDMETHOD(GetLastError)( BSTR *error ); + STDMETHOD(IsLatLong)(/*[out]*/ int *result); + STDMETHOD(GetHandle)(long *pHandle); + STDMETHOD(TransformPoint3D)(IUnknown *srcProj, double *x, double *y, double *z, int *success); + STDMETHOD(Initialize)(BSTR proj_string, int *success); + +private: + void SetError( const char *pszMessage ); + void SetProjError( const char *pszMessage ); + + BSTR sLastError; + void *psProj; + +}; + +#endif //__PROJDEF_H_ |
