]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/fs/ufs/StoreFSufs.h
2 * Copyright (C) 1996-2017 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 #ifndef SQUID_STOREFSUFS_H
10 #define SQUID_STOREFSUFS_H
13 \defgroup UFS UFS Storage Filesystem
17 #include "StoreFileSystem.h"
26 \ingroup UFS, FileSystems
28 * Core UFS class. This template provides compile time aliases for
29 * ufs/aufs/diskd to ease configuration conversion - each becomes a
30 * StoreFS module whose createSwapDir method parameterises the common
31 * UFSSwapDir with an IO module instance.
33 template <class TheSwapDir
>
34 class StoreFSufs
: public StoreFileSystem
37 static StoreFileSystem
&GetInstance();
38 StoreFSufs(char const *DefaultModuleType
, char const *label
);
39 virtual ~StoreFSufs() {}
41 virtual char const *type() const;
42 virtual SwapDir
*createSwapDir();
45 /** Not implemented */
46 StoreFSufs (StoreFSufs
const &);
47 StoreFSufs
&operator=(StoreFSufs
const &);
51 char const *moduleName
;
56 StoreFSufs
<C
>::StoreFSufs(char const *defaultModuleName
, char const *aLabel
) : IO(NULL
), moduleName(defaultModuleName
), label(aLabel
)
63 StoreFSufs
<C
>::type() const
70 StoreFSufs
<C
>::createSwapDir()
72 C
*result
= new C(type(), moduleName
);
85 StoreFSufs
<C
>::setup()
94 #endif /* SQUID_STOREFSUFS_H */