windows-nt/Source/XPSP1/NT/net/ias/services/dictionary/datasource.h
2020-09-26 16:20:57 +08:00

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_