You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
1.6 KiB
77 lines
1.6 KiB
///////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// 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 TunnelTagger;
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// CLASS
|
|
//
|
|
// Action
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
class Action
|
|
{
|
|
public:
|
|
Action(
|
|
PCWSTR name,
|
|
DWORD nameAttr,
|
|
_variant_t& action,
|
|
const TunnelTagger& tagger
|
|
);
|
|
|
|
// 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
|