/////////////////////////////////////////////////////////////////////////////// // // 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 #include #include 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 ActionPtr; #endif // ACTION_H