Index: service.h |
diff --git a/service.h b/service.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3e21acd7a06965b0bd2f789e19dc02bcd3341348 |
--- /dev/null |
+++ b/service.h |
@@ -0,0 +1,63 @@ |
+// Copyright (c) 2011 The Chromium OS 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 SHILL_MANAGER_ |
+#define SHILL_MANAGER_ |
+ |
+#include "shill/resource.h" |
+#include "shill/shill_event.h" |
+ |
+namespace shill { |
+ |
+class Connection; |
+class Configuration; |
+class Device; |
+class Endpoint; |
+ |
+class Service : public Resource { |
+ public: |
+ // A constructor for the Service object |
+ explicit Service(ControlInterface *control_interface, |
+ EventDispatcher *dispatcher); |
+ ~Service(); |
+ void Connnect(); |
+ void Disconnect(); |
+ enum ConnectState { |
+ kServiceStateUnknown, |
+ kServiceStateIdle, |
+ kServiceStateAssociating, |
+ kServiceStateConfiguring, |
+ kServiceStateConnected, |
+ kServiceStateDisconnected, |
+ kServiceStateFailure |
+ }; |
+ enum ConnectFailure { |
+ kServiceFailureUnknown, |
+ kServiceFailureActivationFailure, |
+ kServiceFailureOutOfRange, |
+ kServiceFailurePinMissing, |
+ kServiceFailureConfigurationFailed, |
+ kServiceFailureBadCredentials, |
+ kServiceFailureNeedEVDO, |
+ kServiceFailureNeedHomeNetwork, |
+ kServiceFailureOTASPFailure, |
+ kServiceFailureAAAFailure |
+ }; |
+ |
+ private: |
+ string name_; |
+ bool available_; |
+ bool configured_; |
+ bool auto_connect_; |
+ Configuration *configuration_; |
+ Connection *connection_; |
+ Device *interface_; |
+ Endpoint *endpoint_; |
+ ServiceProxyInterface *proxy_; |
+ friend class ServiceProxyInterface; |
+}; |
+ |
+} // namespace shill |
+ |
+#endif // SHILL_SERVICE_ |