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 10namespace switches { 11 12const char kDisableConfirmation[] = "disable-confirmation"; 13const char kDisableIpv4[] = "disable-ipv4"; 14const char kDisableIpv6[] = "disable-ipv6"; 15const char kDisableMethodCheck[] = "disable-method-check"; 16const char kDisableXTocken[] = "disable-x-token"; 17const char kDomainName[] = "domain-name"; 18const char kExtendedResponce[] = "extended-response"; 19const char kHelpShort[] = "h"; 20const char kHelp[] = "help"; 21const char kHttpPort[] = "http-port"; 22const char kNoAnnouncement[] = "no-announcement"; 23const char kServiceName[] = "service-name"; 24const char kSimulatePrintingErrors[] = "simulate-printing-errors"; 25const char kStatePath[] = "state-path"; 26const char kTtl[] = "ttl"; 27const char kUnicastRespond[] = "unicast-respond"; 28 29const 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 51void 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 68