diff options
Diffstat (limited to 'cloud_print/service/win/service_state.h')
-rw-r--r-- | cloud_print/service/win/service_state.h | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/cloud_print/service/win/service_state.h b/cloud_print/service/win/service_state.h new file mode 100644 index 0000000..ef037bb --- /dev/null +++ b/cloud_print/service/win/service_state.h @@ -0,0 +1,103 @@ +// 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_STATE_H_ +#define CLOUD_PRINT_SERVICE_SERVICE_STATE_H_ + +#include <string> + +#include "base/file_path.h" +#include "base/memory/scoped_ptr.h" +#include "base/values.h" + +class FilePath; + +// Manages Cloud Print part of Service State. +class ServiceState { + public: + ServiceState(); + virtual ~ServiceState(); + + void Reset(); + + // Initialize object from json. + bool FromString(const std::string& json); + + // Returns object state as json. + std::string ToString(); + + // Setups object using data provided by delegate. + bool Configure(const std::string& email, + const std::string& password, + const std::string& proxy_id); + + // Returns authentication token provided by Google server. + virtual std::string LoginToGoogle(const std::string& service, + const std::string& email, + const std::string& password); + + // Returns true of object state is valid. + bool IsValid() const; + + std::string email() const { + return email_; + }; + + std::string proxy_id() const { + return proxy_id_; + }; + + std::string robot_email() const { + return robot_email_; + }; + + std::string robot_token() const { + return robot_token_; + }; + + std::string auth_token() const { + return auth_token_; + }; + + std::string xmpp_auth_token() const { + return xmpp_auth_token_; + }; + + void set_email(const std::string& value) { + email_ = value; + }; + + void set_proxy_id(const std::string& value) { + proxy_id_ = value; + }; + + void set_robot_email(const std::string& value) { + robot_email_ = value; + }; + + void set_robot_token(const std::string& value) { + robot_token_ = value; + }; + + void set_auth_token(const std::string& value) { + auth_token_ = value; + }; + + void set_xmpp_auth_token(const std::string& value) { + xmpp_auth_token_ = value; + }; + + private: + std::string email_; + std::string proxy_id_; + std::string robot_email_; + std::string robot_token_; + std::string auth_token_; + std::string xmpp_auth_token_; + + DISALLOW_COPY_AND_ASSIGN(ServiceState); +}; + +#endif // CLOUD_PRINT_SERVICE_SERVICE_STATE_H_ + |