11320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Copyright 2014 The Chromium Authors. All rights reserved. 21320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Use of this source code is governed by a BSD-style license that can be 31320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// found in the LICENSE file. 41320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "cloud_print/gcp20/prototype/gcp20_switches.h" 61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "base/files/file_path.h" 81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "base/path_service.h" 91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccinamespace switches { 111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciconst char kDisableConfirmation[] = "disable-confirmation"; 131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciconst char kDisableIpv4[] = "disable-ipv4"; 141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciconst char kDisableIpv6[] = "disable-ipv6"; 151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciconst char kDisableMethodCheck[] = "disable-method-check"; 161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciconst char kDisableXTocken[] = "disable-x-token"; 171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciconst char kDomainName[] = "domain-name"; 181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciconst char kExtendedResponce[] = "extended-response"; 191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciconst char kHelpShort[] = "h"; 201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciconst char kHelp[] = "help"; 211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciconst char kHttpPort[] = "http-port"; 221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciconst char kNoAnnouncement[] = "no-announcement"; 231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciconst char kServiceName[] = "service-name"; 241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciconst char kSimulatePrintingErrors[] = "simulate-printing-errors"; 251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciconst char kStatePath[] = "state-path"; 261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciconst char kTtl[] = "ttl"; 271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciconst char kUnicastRespond[] = "unicast-respond"; 281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciconst struct { 301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const char* const name; 311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const char* const description; 321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const char* const arg; 331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} kHelpStrings[] = { 341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {kDisableConfirmation, "disables confirmation of registration", NULL}, 351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {kDisableIpv4, "disables IPv4 support", NULL}, 361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {kDisableIpv6, "disables IPv6 support", NULL}, 371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {kDisableMethodCheck, "disables HTTP method checking (POST, GET)", NULL}, 381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {kDisableXTocken, "disables checking of X-Privet-Token HTTP header", NULL}, 391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {kNoAnnouncement, "disables DNS announcements", NULL}, 401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {kExtendedResponce, "responds to PTR with additional records", NULL}, 411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {kSimulatePrintingErrors, "simulates some errors for local printing", NULL}, 421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {kUnicastRespond, 431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci "DNS responses will be sent in unicast instead of multicast", NULL}, 441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {kDomainName, "sets, should ends with '.local'", "DOMAIN"}, 451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {kHttpPort, "sets port for HTTP server", "PORT"}, 461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {kServiceName, "sets DNS service name", "SERVICE"}, 471320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {kStatePath, "sets path to file with registration state", "PATH"}, 481320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci {kTtl, "sets TTL for DNS announcements", "TTL"}, 491320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}; 501320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 511320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid PrintUsage() { 521320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci base::FilePath exe; 531320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci PathService::Get(base::FILE_EXE, &exe); 541320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci printf("usage: %s [OPTION]...\n\n", exe.BaseName().MaybeAsASCII().c_str()); 551320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci for (size_t i = 0; i < arraysize(kHelpStrings); ++i) { 561320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci std::string name = kHelpStrings[i].name; 571320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci if (kHelpStrings[i].arg) { 581320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci name += '='; 591320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci name += kHelpStrings[i].arg; 601320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci } 611320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci name.resize(27, ' '); 621320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci printf(" --%s%s\n", name.c_str(), kHelpStrings[i].description); 631320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci } 641320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci printf("\n WARNING: mDNS probing is not implemented\n"); 651320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 661320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 671320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} // namespace switches 68