Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / cloud_print / gcp20 / prototype / gcp20_switches.cc
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "cloud_print/gcp20/prototype/gcp20_switches.h"
6
7 #include "base/files/file_path.h"
8 #include "base/path_service.h"
9
10 namespace switches {
11
12 const char kDisableConfirmation[] = "disable-confirmation";
13 const char kDisableIpv4[] = "disable-ipv4";
14 const char kDisableIpv6[] = "disable-ipv6";
15 const char kDisableMethodCheck[] = "disable-method-check";
16 const char kDisableXTocken[] = "disable-x-token";
17 const char kDomainName[] = "domain-name";
18 const char kExtendedResponce[] = "extended-response";
19 const char kHelpShort[] = "h";
20 const char kHelp[] = "help";
21 const char kHttpPort[] = "http-port";
22 const char kNoAnnouncement[] = "no-announcement";
23 const char kServiceName[] = "service-name";
24 const char kSimulatePrintingErrors[] = "simulate-printing-errors";
25 const char kStatePath[] = "state-path";
26 const char kTtl[] = "ttl";
27 const char kUnicastRespond[] = "unicast-respond";
28
29 const struct {
30   const char* const name;
31   const char* const description;
32   const char* const arg;
33 } kHelpStrings[] = {
34   {kDisableConfirmation, "disables confirmation of registration", NULL},
35   {kDisableIpv4, "disables IPv4 support", NULL},
36   {kDisableIpv6, "disables IPv6 support", NULL},
37   {kDisableMethodCheck, "disables HTTP method checking (POST, GET)", NULL},
38   {kDisableXTocken, "disables checking of X-Privet-Token HTTP header", NULL},
39   {kNoAnnouncement, "disables DNS announcements", NULL},
40   {kExtendedResponce, "responds to PTR with additional records", NULL},
41   {kSimulatePrintingErrors, "simulates some errors for local printing", NULL},
42   {kUnicastRespond,
43        "DNS responses will be sent in unicast instead of multicast", NULL},
44   {kDomainName, "sets, should ends with '.local'", "DOMAIN"},
45   {kHttpPort, "sets port for HTTP server", "PORT"},
46   {kServiceName, "sets DNS service name", "SERVICE"},
47   {kStatePath, "sets path to file with registration state", "PATH"},
48   {kTtl, "sets TTL for DNS announcements", "TTL"},
49 };
50
51 void PrintUsage() {
52   base::FilePath exe;
53   PathService::Get(base::FILE_EXE, &exe);
54   printf("usage: %s [OPTION]...\n\n", exe.BaseName().MaybeAsASCII().c_str());
55   for (size_t i = 0; i < arraysize(kHelpStrings); ++i) {
56     std::string name = kHelpStrings[i].name;
57     if (kHelpStrings[i].arg) {
58       name += '=';
59       name += kHelpStrings[i].arg;
60     }
61     name.resize(27, ' ');
62     printf("  --%s%s\n", name.c_str(), kHelpStrings[i].description);
63   }
64   printf("\n  WARNING: mDNS probing is not implemented\n");
65 }
66
67 }  // namespace switches