]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/mgr/ActionCreator.h
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_CREATOR_H
12 #define SQUID_MGR_ACTION_CREATOR_H
14 #include "mgr/forward.h"
19 /** Creates objects of the right Action class, parameterized with Command.
20 * A part of the Action profile that allows Cache Manager be ignorant about
21 * specific Action classes (\see Mgr::ActionProfile).
23 class ActionCreator
: public RefCountable
26 typedef RefCount
<ActionCreator
> Pointer
;
28 virtual ~ActionCreator() {}
30 /// returns a pointer to the new Action object for cmd; never nil
31 virtual ActionPointer
create(const CommandPointer
&cmd
) const = 0;
36 #endif /* SQUID_MGR_ACTION_CREATOR_H */