71 lines
1.4 KiB
C++
71 lines
1.4 KiB
C++
///////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Copyright (c) 1999, Microsoft Corp. All rights reserved.
|
|
//
|
|
// FILE
|
|
//
|
|
// action.h
|
|
//
|
|
// SYNOPSIS
|
|
//
|
|
// Declares the class Action.
|
|
//
|
|
// MODIFICATION HISTORY
|
|
//
|
|
// 02/01/2000 Original version.
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef ACTION_H
|
|
#define ACTION_H
|
|
#if _MSC_VER >= 1000
|
|
#pragma once
|
|
#endif
|
|
|
|
#include <realm.h>
|
|
|
|
#include <memory>
|
|
|
|
#include <iastlutl.h>
|
|
using namespace IASTL;
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// CLASS
|
|
//
|
|
// Action
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
class Action
|
|
{
|
|
public:
|
|
Action(PCWSTR name, DWORD nameAttr, _variant_t& action);
|
|
|
|
// Perform the action.
|
|
void doAction(IASRequest& pRequest) const;
|
|
|
|
protected:
|
|
// Create a VSA from the string format used by the UI.
|
|
static PIASATTRIBUTE VSAFromString(PCWSTR string);
|
|
|
|
private:
|
|
// Profile attributes to be added to the request.
|
|
IASAttributeVector attributes;
|
|
|
|
// Provider information.
|
|
IASAttributeVectorWithBuffer<2> authProvider;
|
|
IASAttributeVectorWithBuffer<2> acctProvider;
|
|
|
|
// Attribute manipulation.
|
|
DWORD realmsTarget;
|
|
Realms realms;
|
|
|
|
// Not implemented.
|
|
Action(const Action&) throw ();
|
|
Action& operator=(const Action&) throw ();
|
|
};
|
|
|
|
typedef std::auto_ptr<Action> ActionPtr;
|
|
|
|
#endif // ACTION_H
|