ALib C++ Library
Library Version: 2511 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
filescamp.cpp
1//##################################################################################################
2// ALib C++ Library
3//
4// Copyright 2013-2025 A-Worx GmbH, Germany
5// Published under 'Boost Software License' (a free software license, see LICENSE.txt)
6//##################################################################################################
7#include "alib_precompile.hpp"
8#if !defined(ALIB_C20_MODULES) || ((ALIB_C20_MODULES != 0) && (ALIB_C20_MODULES != 1))
9# error "Symbol ALIB_C20_MODULES has to be given to the compiler as either 0 or 1"
10#endif
11#if ALIB_C20_MODULES
12 module;
13#endif
14//========================================= Global Fragment ========================================
18
19//============================================== Module ============================================
20#if ALIB_C20_MODULES
21 module ALib.Files;
22 import ALib.Lang;
23 import ALib.Characters.Functions;
24 import ALib.Strings;
25 import ALib.Boxing;
26 import ALib.Format;
27# if ALIB_EXPRESSIONS
28 import ALib.Expressions;
29# endif
30 import ALib.Camp;
31#else
32# include "ALib.Lang.H"
34# include "ALib.Strings.H"
35# include "ALib.Boxing.H"
36# include "ALib.Format.H"
37# include "ALib.Expressions.H"
38# include "ALib.Camp.H"
39# include "ALib.Files.H"
40#endif
41//========================================== Implementation ========================================
43
44
45namespace alib {
46
48
49namespace files {
50
52: Camp( "FILES" ) {
53 #if ALIB_DEBUG && !ALIB_DEBUG_ASSERTION_PRINTABLES
54 ALIB_ASSERT_ERROR( this == &FILES, "FILES",
55 "Instances of class FILES must not be created. Use singleton alib::FILES" )
56 #endif
57}
58
59
62 #define EOS ,
63#if !ALIB_CAMP_OMIT_DEFAULT_RESOURCES
64 resourcePool->BootstrapBulk( ResourceCategory,
65
66 "FT", A_CHAR("0,Directory" ",1,"
67 "1,SymbolicLinkToDir" ",15,"
68 "3,SymbolicLinkToFile" ",15,"
69 "2,Regular" ",1,"
70 "4,Block" ",1,"
71 "5,Character" ",1,"
72 "6,Fifo" ",1,"
73 "7,Socket" ",2,"
74 "8,UNKNOWN_OR_ERROR" ",1" ) EOS
75
76 "FT1", A_CHAR("0,d" ",1,"
77 "1,L" ",1,"
78 "2,-" ",1,"
79 "3,l" ",1,"
80 "4,b" ",1,"
81 "5,c" ",1,"
82 "6,p" ",1,"
83 "7,s" ",1" ) EOS
84
85 "FT2", A_CHAR("0,dr" ",1,"
86 "1,ld" ",3,"
87 "2,rf" ",1,"
88 "3,lf" ",3,"
89 "4,bl" ",1,"
90 "5,ch" ",1,"
91 "6,ff" ",1,"
92 "7,so" ",2" ) EOS
93
94 "FT3", A_CHAR("0,dir" ",1,"
95 "1,sld" ",3,"
96 "2,reg" ",1,"
97 "3,slf" ",3,"
98 "4,blk" ",1,"
99 "5,chr" ",1,"
100 "6,ffo" ",1,"
101 "7,sck" ",2" ) EOS
102
103
104 "FQ", A_CHAR("0,NONE" ",3,"
105 "1,STATS" ",1,"
106 "2,RESOLVED" ",3,"
107 "3,MAX_DEPTH_REACHED" ",1,"
108 "15,NOT_EXISTENT" ",5,"
109 "4,NOT_FOLLOWED" ",5,"
110 "5,NOT_CROSSING_FS" ",5,"
111 "6,NO_AFS" ",5,"
112 "10,NO_ACCESS_SL_TARGET" ",13,"
113 "9,NO_ACCESS_SL" ",11,"
114 "11,NO_ACCESS_DIR" ",11,"
115 "8,NO_ACCESS" ",5,"
116 "7,RECURSIVE" ",1,"
117 "12,BROKEN_LINK" ",1,"
118 "13,CIRCULAR_LINK" ",1,"
119 "14,DUPLICATE" ",1,"
120 "16,UNKNOWN_ERROR" ",5" ) EOS
121
122 "FQ3", A_CHAR("0,NON" ",3,"
123 "1,STA" ",3,"
124 "2,RES" ",3,"
125 "3,MDR" ",3,"
126 "4,NFO" ",3,"
127 "5,NCF" ",3,"
128 "6,NAF" ",3,"
129 "7,REC" ",3,"
130 "8,NAC" ",3,"
131 "9,NSL" ",3,"
132 "10,NAT" ",3,"
133 "11,NAD" ",3,"
134 "12,BRL" ",3,"
135 "13,CIL" ",3,"
136 "14,DUP" ",3,"
137 "15,NEX" ",3,"
138 "16,UKE" ",3" ) EOS
139
140 // Identifier/Function names
141 "TFP" , A_CHAR("File Permission" ) EOS
142 "TID" , A_CHAR("File Usr/Grp ID" ) EOS
143 "TTY" , A_CHAR("File Type" ) EOS
144
145
146 "CPF0" , A_CHAR( "OwnerRead" " I 1 2" ),
147 "CPF1" , A_CHAR( "OwnerWrite" " I 1 1" ),
148 "CPF2" , A_CHAR( "OwnerExecute" " I 1 1" ),
149 "CPF3" , A_CHAR( "GroupRead" " I 1 1" ),
150 "CPF4" , A_CHAR( "GroupWrite" " I 1 1" ),
151 "CPF5" , A_CHAR( "GroupExecute" " I 1 1" ),
152 "CPF6" , A_CHAR( "OthersRead" " I 2 1" ),
153 "CPF7" , A_CHAR( "OthersWrite" " I 2 1" ),
154 "CPF8" , A_CHAR( "OthersExecute" " I 2 1" ),
155 "CPF9" , A_CHAR( "Directory" " I 3" ),
156 "CPF10" , A_CHAR( "SymbolicLinkDir" " I 1 1 1" ),
157 "CPF11" , A_CHAR( "Regular" " I 3" ),
158 "CPF12" , A_CHAR( "SymbolicLink" " I 1 1" ),
159 "CPF13" , A_CHAR( "Block" " I 5" ),
160 "CPF14" , A_CHAR( "Character" " I 9" ),
161 "CPF15" , A_CHAR( "Fifo" " I 4" ),
162 "CPF16" , A_CHAR( "Socket" " I 6" ),
163 "CPF17" , A_CHAR( "Name" " I 4" ),
164 "CPF18" , A_CHAR( "Type" " I 2" ),
165 "CPF19" , A_CHAR( "IsDirectory" " I 2 3" ),
166 "CPF20" , A_CHAR( "IsSymbolicLink" " I 2 1 1" ),
167 "CPF21" , A_CHAR( "Size" " I 4" ),
168 "CPF22" , A_CHAR( "Date" " I 4" ),
169 "CPF23" , A_CHAR( "MDate" " I 1 1" ),
170 "CPF24" , A_CHAR( "BDate" " I 1 1" ),
171 "CPF25" , A_CHAR( "CDate" " I 1 1" ),
172 "CPF26" , A_CHAR( "ADate" " I 1 1" ),
173 "CPF27" , A_CHAR( "PermissionS" " I 4 0" ),
174 "CPF28" , A_CHAR( "KiloBytes" " I 1 1" ),
175 "CPF29" , A_CHAR( "MegaBytes" " I 1 1" ),
176 "CPF30" , A_CHAR( "GigaBytes" " I 1 1" ),
177 "CPF31" , A_CHAR( "TeraBytes" " I 1 1" ),
178 "CPF32" , A_CHAR( "PetaBytes" " I 1 1" ),
179 "CPF33" , A_CHAR( "ExaBytes" " I 1 1" ),
180 "CPF34" , A_CHAR( "Owner" " I 5" ),
181 "CPF35" , A_CHAR( "Group" " I 5" ),
182 "CPF36" , A_CHAR( "UserID" " I 1 1 1" ),
183 "CPF37" , A_CHAR( "GroupID" " I 1 1 1" ),
184 "CPF38" , A_CHAR( "Path" " I 4" ),
185
186 // default format for method File::Format when used with Formatter and no placeholder
187 // string was given.
188 "FFMT" , A_CHAR( "ta h on gn s dm nal" ),
189
190 // end of BootstrapBulk()
191 nullptr );
192#endif // !ALIB_CAMP_OMIT_DEFAULT_RESOURCES
193
194 // parse enum records
201 }
202
205}
206
207
208}} // namespace [alib::files]
NCString ResourceCategory
Definition camp.inl:113
BootstrapPhases GetBootstrapState()
Definition camp.inl:174
Camp(const NCString &resourceCategory)
Definition camp.inl:120
SPResourcePool resourcePool
Definition camp.inl:95
virtual ALIB_DLL void Bootstrap() override
Initializes this camp.
Definition filescamp.cpp:60
#define ALIB_BOXING_VTABLE_DEFINE(TMapped, Identifier)
#define A_CHAR(STR)
#define ALIB_ASSERT_ERROR(cond, domain,...)
Definition alib.inl:1066
void Bootstrap(camp::Camp &camp, const NString &name, character innerDelim=',', character outerDelim=',')
Definition camp.inl:324
@ Final
The final initialization phase. Here, camps are initializing their custom setup.
Definition camp.inl:35
files::FilesCamp FILES
The singleton instance of ALib Camp class FilesCamp.
Definition filescamp.cpp:47