// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CLOUD_PRINT_SERVICE_SERVICE_SWITCHES_H_
#define CLOUD_PRINT_SERVICE_SERVICE_SWITCHES_H_

extern const char kConsoleSwitch[];
extern const char kDeleteSwitch[];
extern const char kInstallSwitch[];
extern const char kRequirementsSwitch[];
extern const char kServiceSwitch[];
extern const char kStartSwitch[];
extern const char kStopSwitch[];
extern const char kUninstallSwitch[];

#endif  // CLOUD_PRINT_SERVICE_SERVICE_SWITCHES_H_

