104 lines
2.8 KiB
C
104 lines
2.8 KiB
C
|
///////////////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// 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 <resource.h>
|
||
|
#include <oledb.h>
|
||
|
|
||
|
#include <iastl.h>
|
||
|
#include <iastlb.h>
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// CLASS
|
||
|
//
|
||
|
// CIasDataSource
|
||
|
//
|
||
|
// DESCRIPTION
|
||
|
//
|
||
|
// This class implements the IIasDataSource and IDictionary interfaces.
|
||
|
//
|
||
|
///////////////////////////////////////////////////////////////////////////////
|
||
|
class ATL_NO_VTABLE CIasDataSource :
|
||
|
public IASTL::IASComponent,
|
||
|
public CComCoClass<CIasDataSource, &__uuidof(IasDataSource)>,
|
||
|
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_
|