/////////////////////////////////////////////////////////////////////////////// // // Copyright (c) 1997, Microsoft Corp. All rights reserved. // // FILE // // DataSource.h // // SYNOPSIS // // This file describes the class DataSource. // // MODIFICATION HISTORY // // 11/05/1997 Original version. // 12/19/1997 Added ExecuteCommand method. // 01/15/1998 Implemented IIasComponent method. // 02/09/1998 Added AllowUpdate property. // 08/11/1998 Convert to IASTL. // /////////////////////////////////////////////////////////////////////////////// #ifndef _DATASOURCE_H_ #define _DATASOURCE_H_ #include #include #include #include /////////////////////////////////////////////////////////////////////////////// // // CLASS // // CIasDataSource // // DESCRIPTION // // This class implements the IIasDataSource and IDictionary interfaces. // /////////////////////////////////////////////////////////////////////////////// class ATL_NO_VTABLE CIasDataSource : public IASTL::IASComponent, public CComCoClass, public IIasDataSource { public: IAS_DECLARE_REGISTRY(IasDataSource, 1, 0, IASCoreLib) BEGIN_COM_MAP(CIasDataSource) COM_INTERFACE_ENTRY_IID(__uuidof(IIasDataSource), IIasDataSource) COM_INTERFACE_ENTRY_IID(__uuidof(IIasComponent), IIasComponent) COM_INTERFACE_ENTRY_IID(__uuidof(IDispatch), IDispatch) END_COM_MAP() CIasDataSource() throw (); ~CIasDataSource() throw (); ////////// // IIasDataSource ////////// STDMETHOD(put_Provider)(/*[in, string]*/ LPCWSTR newVal); STDMETHOD(get_Provider)(/*[out, retval, string]*/ LPWSTR* pVal); STDMETHOD(put_Name)(/*[in, string]*/ LPCWSTR newVal); STDMETHOD(get_Name)(/*[out, retval, string]*/ LPWSTR* pVal); STDMETHOD(put_UserID)(/*[in, string]*/ LPCWSTR newVal); STDMETHOD(get_UserID)(/*[out, retval, string]*/ LPWSTR* pVal); STDMETHOD(put_Password)(/*[in, string]*/ LPCWSTR newVal); STDMETHOD(get_Password)(/*[out, retval, string]*/ LPWSTR* pVal); STDMETHOD(put_AllowUpdate)(/*[in]*/ boolean newVal); STDMETHOD(get_AllowUpdate)(/*[out, retval]*/ boolean* pVal); STDMETHOD(OpenTable)(/*[in, string]*/ LPCWSTR szTableName, /*[out, retval]*/ IUnknown** ppTable); STDMETHOD(ExecuteCommand)(/*[in]*/ REFGUID rguidDialect, /*[in, string]*/ LPCWSTR szCommandText, /*[out, retval]*/ IUnknown** ppRowset); ////////// // IIasComponent ////////// STDMETHOD(Initialize)(); STDMETHOD(Shutdown)(); protected: HRESULT initStatus; wchar_t* provider; wchar_t* name; wchar_t* userID; wchar_t* password; bool allowUpdate; IDBInitialize* connection; IOpenRowset* session; }; #endif // _DATASOURCE_H_