1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
7 -------------------------------------------------------------------------------
9 This file is part of OpenFOAM.
11 OpenFOAM is free software: you can redistribute it and/or modify it
12 under the terms of the GNU General Public License as published by
13 the Free Software Foundation, either version 3 of the License, or
14 (at your option) any later version.
16 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 You should have received a copy of the GNU General Public License
22 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 Foam::CallbackRegistry
28 Base class with which callbacks are registered.
30 Derive from this class and extend by adding the appropriate callback
31 functions that loop and call the callback functions for each entry.
36 \*---------------------------------------------------------------------------*/
38 #ifndef CallbackRegistry_H
39 #define CallbackRegistry_H
42 #include "className.H"
44 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
49 // Forward declaration of classes
51 template<class CallbackType>
55 /*---------------------------------------------------------------------------*\
56 Class CallbackRegistry Declaration
57 \*---------------------------------------------------------------------------*/
59 TemplateName(CallbackRegistry);
62 /*---------------------------------------------------------------------------*\
63 Class CallbackRegistry Declaration
64 \*---------------------------------------------------------------------------*/
66 template<class CallbackType>
67 class CallbackRegistry
69 public CallbackRegistryName,
70 public UIDLList<CallbackType>
72 // Private Member Functions
74 //- Disallow default bitwise copy construct
75 CallbackRegistry(const CallbackRegistry&);
77 //- Disallow default bitwise assignment
78 void operator=(const CallbackRegistry&);
90 virtual ~CallbackRegistry();
94 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
96 } // End namespace Foam
98 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
101 # include "CallbackRegistry.C"
104 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
108 // ************************************************************************* //