ALib C++ Library
Library Version: 2510 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;
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{
54 #if ALIB_DEBUG && !ALIB_DEBUG_ASSERTION_PRINTABLES
55 ALIB_ASSERT_ERROR( this == &FILES, "FILES",
56 "Instances of class FILES must not be created. Use singleton alib::FILES" )
57 #endif
58}
59
60
62{
64 {
65 #define EOS ,
66#if !ALIB_CAMP_OMIT_DEFAULT_RESOURCES
67 resourcePool->BootstrapBulk( ResourceCategory,
68
69 "FT", A_CHAR("0,Directory" ",1,"
70 "1,SymbolicLinkToDir" ",15,"
71 "3,SymbolicLinkToFile" ",15,"
72 "2,Regular" ",1,"
73 "4,Block" ",1,"
74 "5,Character" ",1,"
75 "6,Fifo" ",1,"
76 "7,Socket" ",2,"
77 "8,UNKNOWN_OR_ERROR" ",1" ) EOS
78
79 "FT1", A_CHAR("0,d" ",1,"
80 "1,L" ",1,"
81 "2,-" ",1,"
82 "3,l" ",1,"
83 "4,b" ",1,"
84 "5,c" ",1,"
85 "6,p" ",1,"
86 "7,s" ",1" ) EOS
87
88 "FT2", A_CHAR("0,dr" ",1,"
89 "1,ld" ",3,"
90 "2,rf" ",1,"
91 "3,lf" ",3,"
92 "4,bl" ",1,"
93 "5,ch" ",1,"
94 "6,ff" ",1,"
95 "7,so" ",2" ) EOS
96
97 "FT3", A_CHAR("0,dir" ",1,"
98 "1,sld" ",3,"
99 "2,reg" ",1,"
100 "3,slf" ",3,"
101 "4,blk" ",1,"
102 "5,chr" ",1,"
103 "6,ffo" ",1,"
104 "7,sck" ",2" ) EOS
105
106
107 "FQ", A_CHAR("0,NONE" ",3,"
108 "1,STATS" ",1,"
109 "2,RESOLVED" ",3,"
110 "3,MAX_DEPTH_REACHED" ",1,"
111 "15,NOT_EXISTENT" ",5,"
112 "4,NOT_FOLLOWED" ",5,"
113 "5,NOT_CROSSING_FS" ",5,"
114 "6,NO_AFS" ",5,"
115 "10,NO_ACCESS_SL_TARGET" ",13,"
116 "9,NO_ACCESS_SL" ",11,"
117 "11,NO_ACCESS_DIR" ",11,"
118 "8,NO_ACCESS" ",5,"
119 "7,RECURSIVE" ",1,"
120 "12,BROKEN_LINK" ",1,"
121 "13,CIRCULAR_LINK" ",1,"
122 "14,DUPLICATE" ",1,"
123 "16,UNKNOWN_ERROR" ",5" ) EOS
124
125 "FQ3", A_CHAR("0,NON" ",3,"
126 "1,STA" ",3,"
127 "2,RES" ",3,"
128 "3,MDR" ",3,"
129 "4,NFO" ",3,"
130 "5,NCF" ",3,"
131 "6,NAF" ",3,"
132 "7,REC" ",3,"
133 "8,NAC" ",3,"
134 "9,NSL" ",3,"
135 "10,NAT" ",3,"
136 "11,NAD" ",3,"
137 "12,BRL" ",3,"
138 "13,CIL" ",3,"
139 "14,DUP" ",3,"
140 "15,NEX" ",3,"
141 "16,UKE" ",3" ) EOS
142
143 // Identifier/Function names
144 "TFP" , A_CHAR("File Permission" ) EOS
145 "TID" , A_CHAR("File Usr/Grp ID" ) EOS
146 "TTY" , A_CHAR("File Type" ) EOS
147
148
149 "CPF0" , A_CHAR( "OwnerRead" " I 1 2" ),
150 "CPF1" , A_CHAR( "OwnerWrite" " I 1 1" ),
151 "CPF2" , A_CHAR( "OwnerExecute" " I 1 1" ),
152 "CPF3" , A_CHAR( "GroupRead" " I 1 1" ),
153 "CPF4" , A_CHAR( "GroupWrite" " I 1 1" ),
154 "CPF5" , A_CHAR( "GroupExecute" " I 1 1" ),
155 "CPF6" , A_CHAR( "OthersRead" " I 2 1" ),
156 "CPF7" , A_CHAR( "OthersWrite" " I 2 1" ),
157 "CPF8" , A_CHAR( "OthersExecute" " I 2 1" ),
158 "CPF9" , A_CHAR( "Directory" " I 3" ),
159 "CPF10" , A_CHAR( "SymbolicLinkDir" " I 1 1 1" ),
160 "CPF11" , A_CHAR( "Regular" " I 3" ),
161 "CPF12" , A_CHAR( "SymbolicLink" " I 1 1" ),
162 "CPF13" , A_CHAR( "Block" " I 5" ),
163 "CPF14" , A_CHAR( "Character" " I 9" ),
164 "CPF15" , A_CHAR( "Fifo" " I 4" ),
165 "CPF16" , A_CHAR( "Socket" " I 6" ),
166 "CPF17" , A_CHAR( "Name" " I 4" ),
167 "CPF18" , A_CHAR( "Type" " I 2" ),
168 "CPF19" , A_CHAR( "IsDirectory" " I 2 3" ),
169 "CPF20" , A_CHAR( "IsSymbolicLink" " I 2 1 1" ),
170 "CPF21" , A_CHAR( "Size" " I 4" ),
171 "CPF22" , A_CHAR( "Date" " I 4" ),
172 "CPF23" , A_CHAR( "MDate" " I 1 1" ),
173 "CPF24" , A_CHAR( "BDate" " I 1 1" ),
174 "CPF25" , A_CHAR( "CDate" " I 1 1" ),
175 "CPF26" , A_CHAR( "ADate" " I 1 1" ),
176 "CPF27" , A_CHAR( "PermissionS" " I 4 0" ),
177 "CPF28" , A_CHAR( "KiloBytes" " I 1 1" ),
178 "CPF29" , A_CHAR( "MegaBytes" " I 1 1" ),
179 "CPF30" , A_CHAR( "GigaBytes" " I 1 1" ),
180 "CPF31" , A_CHAR( "TeraBytes" " I 1 1" ),
181 "CPF32" , A_CHAR( "PetaBytes" " I 1 1" ),
182 "CPF33" , A_CHAR( "ExaBytes" " I 1 1" ),
183 "CPF34" , A_CHAR( "Owner" " I 5" ),
184 "CPF35" , A_CHAR( "Group" " I 5" ),
185 "CPF36" , A_CHAR( "UserID" " I 1 1 1" ),
186 "CPF37" , A_CHAR( "GroupID" " I 1 1 1" ),
187 "CPF38" , A_CHAR( "Path" " I 4" ),
188
189 // default format for method File::Format when used with Formatter and no placeholder
190 // string was given.
191 "FFMT" , A_CHAR( "ta h on gn s dm nal" ),
192
193 // end of BootstrapBulk()
194 nullptr );
195#endif // !ALIB_CAMP_OMIT_DEFAULT_RESOURCES
196
197 // parse enum records
204 }
205
208}
209
210
211}} // namespace [alib::files]
NCString ResourceCategory
Definition camp.inl:113
BootstrapPhases GetBootstrapState()
Definition camp.inl:176
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:61
#define ALIB_BOXING_VTABLE_DEFINE(TMapped, Identifier)
#define A_CHAR(STR)
#define ALIB_ASSERT_ERROR(cond, domain,...)
Definition alib.inl:1049
void Bootstrap(camp::Camp &camp, const NString &name, character innerDelim=',', character outerDelim=',')
Definition camp.inl:329
@ 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