ALib C++ Framework
by
Library Version: 2511 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
filescamp.inl
Go to the documentation of this file.
1//==================================================================================================
2/// \file
3/// This header-file is part of module \alib_files of the \aliblong.
4///
5/// \emoji :copyright: 2013-2025 A-Worx GmbH, Germany.
6/// Published under #"mainpage_license".
7//==================================================================================================
8ALIB_EXPORT namespace alib {
9
10//==================================================================================================
11/// This is the reference documentation of module \alib_files_nl of the \aliblong.<br>
12/// @see A user manual with tutorial-style sample code is found in the
13/// #"alib_mod_files;Programmer's Manual" of this module.
14//==================================================================================================
15namespace files {
16
17//todo: An symlink target knoten muss ein "scanparent" dran. Dieser zeigt auf den link.
18// Die AssemblePath muss es dann entweder mit einem Flag geben oder unter anderem Namen.
19// Auch eine alternative Parent() muss her, z.B. ScanParent() oder LinkParent(). Eines von
20// beiden Wörtern muss man nehmen. Bei den meisten wird dann ein nulled-String zurückgegeben.
21// Wenn ein zweiter scan einen Knoten erneut, aber dieses mal direkt findet, dann überschreibt
22// es den link-parent mit nulled! Zwar würde die Info damit verloren gegehen... aber deswegen
23// würde ich es ja ScanParent nennen. Das muss man dann so im manual dokumentieren:
24// Link-parent kann es ja grundsätzlich viele geben, die bedeutung hier its: Ist dieser Knoten
25// bisher ausschließlich über irgendeinen Symlink reingekommen? Dann zeige ihn so auch
26// dem Benutzer. Wenn er später direkt gefunden wurde, hat der benutzer diesen Real-pfad angegeben
27// und er bekommt dann diesen auch angezeigt! Das ist eigentlich recht leicht zu implementieren.
28//==================================================================================================
29/// This is a strict singleton class representing module \alib_files.
30///
31/// The only instance is found with the namespace variable #"alib::files".
32//==================================================================================================
33class FilesCamp : public camp::Camp
34{
35 public:
36 /// Constructor.<br>
37 /// While this is public, it must not be invoked as this is a strict singleton type.
38 /// (See notes in #"alib_camp_camp").
40 FilesCamp();
41
42 protected:
43 /// Initializes this camp.
45 virtual void Bootstrap() override;
46
47 /// Terminates this camp. (Nothing to do.)
48 virtual void Shutdown( ShutdownPhases ) override {}
49
50}; // class FilesCamp
51
52} // namespace alib[::files]
53
54/// The singleton instance of \alibcamp class #"FilesCamp".
55extern ALIB_DLL files::FilesCamp FILES;
56
57} // namespace [alib]
#define ALIB_DLL
Definition alib.inl:573
#define ALIB_EXPORT
Definition alib.inl:562
virtual void Shutdown(ShutdownPhases) override
Terminates this camp. (Nothing to do.).
Definition filescamp.inl:48
virtual void Bootstrap() override
Initializes this camp.
Definition filescamp.cpp:60
ShutdownPhases
Termination levels usable with #"alib_mod_bs_camps;Bootstrapping ALib Camps".
Definition camp.inl:42
files::FilesCamp FILES
The singleton instance of ALib Camp class #"FilesCamp".
Definition filescamp.cpp:47