25#if __DCL_HAVE_THIS_FILE__
32static Arguments::Option __options__[] =
34 { L
"summary", L
's',
NULL, 0, L
"Summary of tag items" },
35 { L
"verbose", L
'v',
NULL, 0, L
"Produce verbose output" },
36 {
NULL, 0,
NULL, 0, L
"The following options should be grouped together:" },
37 { L
"database", L
'd', L
"STRING", 0, L
"Database connection."
38 "\n\t\t\t DRIVER=DCLFirebird;USER=MT100;PASSWORD=pass;SERVER=g02u24kn2/32055;DATABASE=MT100"
39 "\n\t\t\t DRIVER=DCLInformix;USER=MT100;PASSWORD=pass;SERVER=informix02;DATABASE=MT100"
40 "\n\t\t\t DRIVER=DCLInterBase;USER=MT100;PASSWORD=pass;SERVER=n0317ud70p/3050;DATABASE=MT100"
41 "\n\t\t\t DRIVER=DCLMariaDB; USER=MT100;PASSWORD=pass;SERVER=g02u24kn2;PORT=32011;DATABASE=MT100"
42 "\n\t\t\t DRIVER=DCLOracle; USER=MT100;PASSWORD=pass;DATABASE=g01r08od21:1521/AL32UTF8"
43 "\n\t\t\t DRIVER=DCLPostgreSQL;USER=MT100;PASSWORD=pass;SERVER=g02u24kn2;PORT=32017;DATABASE=MT100"
44 "\n\t\t\t DRIVER=DCLSQLCipher; DATABASE=MT100.sqlcipher;KEY=key"
45 "\n\t\t\t DRIVER=DCLSQLite3; DATABASE=MT100.sqlite3"
46 "\n\t\t\t DRIVER={ODBC Driver 18 for SQL Server};Server=g02u24kn2,31433;Database=MT100;UID=MT100;PWD=pass" },
47 { L
"dry-run", L
'n',
NULL, 0, L
"perform a trial run with no changes made" },
55 L
"daejung@gowoonsoft.com",
61 __dryrun = __verbose = __summary =
false;
68 .append(L
" --verbose=").append(String::valueOf(
__verbose))
69 .append(L
" --summary=").append(String::valueOf(
__summary))
71 .append(L
" --dry-run=").append(String::valueOf(
__dryrun))
72 .append(L
" values[").append(values().
toString())
105 String path = _args.values()[0];
115 _args.output() << L
"[" << path << L
"] " << counter.
toString() <<
endl;
132int main(
int argc,
char* argv[])
135 setlocale(LC_ALL,
"");
142 DCLDebugSetGlobalReport(&errout);
145 if (args.parse(argc, argv)) {
146 String sep(L
'=', 80);
152 output << sep <<
endl;
164 output << sep <<
endl
169#if __DCL_HAVE_ALLOC_DEBUG
170 DCLDebugDumpGlobalMemoryLeak(DCL_ALLOC_DUMP_ALL, &errout);
172 DCLDebugSetGlobalReport(
NULL);
178 fwprintf(stderr, L
"Warning!! Final Exception: %ls\n", s.data());
185#ifdef __WINNT_NEW_DELETE_OVERRIDE
187__WINNT_NEW_DELETE_OVERRIDE
#define __DCL_ASSERT(expr)
DCLCVAR const struct __endl endl
virtual String onValidate()
static DateTime getCurrentLocalTime()
String toStringAll() const
static String dirname(const String &_path)
static String basename(const String &_path)
static bool isDirectory(const String &_path)
MainArguments(Writer &_output, Writer &_errout)
virtual String onValidate()
virtual void onOption(int _key, const String &_arg) __DCL_THROWS1(Exception *)
virtual String toString() const
static void read(const String &_filename, TagCounter &_counter)
static void readDir(const String &_path, TagCounter &_counter, const MainArguments &_args)
void read(const String &_dirname, const String &_filename)
void readDir(const String &_path)
__DCL_END_NAMESPACE __DCL_USING_NAMESPACE int main(int argc, char *argv[])
void __main(const MainArguments &_args)