/////////////////////////////////////////////////////////////////////////////
//
// Copyright(C) 1997-1998 Microsoft Corporation all rights reserved.
//
// Module:      sdouser.h
//
// Project:     Everest
//
// Description: IAS Server Data Object - User Object Definition
//
// Author:      TLP 1/23/98
//
/////////////////////////////////////////////////////////////////////////////

#ifndef _INC_IAS_SDO_USER_H_
#define _INC_IAS_SDO_USER_H_

#include "resource.h"
#include <ias.h>
#include <sdoiaspriv.h>
#include "sdo.h"
#include <sdofactory.h>

/////////////////////////////////////////////////////////////////////////////
// CSdoUser
/////////////////////////////////////////////////////////////////////////////

class CSdoUser : public CSdo
{

public:

////////////////////
// ATL Interface Map
////////////////////
BEGIN_COM_MAP(CSdoUser)
	COM_INTERFACE_ENTRY(ISdo)
	COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()

DECLARE_SDO_FACTORY(CSdoUser);

	/////////////////////////////////////////////////////////////////////////////
	CSdoUser() { }

	/////////////////////////////////////////////////////////////////////////////
    ~CSdoUser() { }

	/////////////////////////////////////////////////////////////////////////////
	HRESULT FinalInitialize(
				    /*[in]*/ bool         fInitNew,
				    /*[in]*/ ISdoMachine* pAttachedMachine
						   );

   //////////////////////////////////////////////////////////////////////////
   STDMETHOD(Apply)(void);

	/////////////////////////////////////////////////////////////////////////////
	HRESULT ValidateProperty(
				       /*[in]*/ PSDOPROPERTY pProperty,
				       /*[in]*/ VARIANT* pValue
				            );

private:

	CSdoUser(const CSdoUser& rhs);
	CSdoUser& operator = (CSdoUser& rhs);
};

#endif // _INC_IAS_SDO_USER_H_
