2 * Copyright (C) 1996-2014 The Squid Software Foundation and contributors
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
9 /* DEBUG: section 16 Cache Manager API */
11 #ifndef SQUID_MGR_ACTION_PROFILE_H
12 #define SQUID_MGR_ACTION_PROFILE_H
14 #include "mgr/ActionCreator.h"
15 #include "mgr/forward.h"
20 /// hard-coded Cache Manager action configuration, including Action creator
21 class ActionProfile
: public RefCountable
24 typedef RefCount
<ActionProfile
> Pointer
;
27 ActionProfile(const char* aName
, const char* aDesc
, bool aPwReq
,
28 bool anAtomic
, const ActionCreatorPointer
&aCreator
):
29 name(aName
), desc(aDesc
), isPwReq(aPwReq
), isAtomic(anAtomic
),
34 const char *name
; ///< action label to uniquely identify this action
35 const char *desc
; ///< action description to build an action menu list
36 bool isPwReq
; ///< whether password is required to perform the action
37 bool isAtomic
; ///< whether action dumps everything in one dump() call
38 ActionCreatorPointer creator
; ///< creates Action objects with this profile
44 operator <<(std::ostream
&os
, const Mgr::ActionProfile
&profile
)
46 return os
<< profile
.name
;
49 #endif /* SQUID_MGR_ACTION_PROFILE_H */