shill: support association with open wifi access points

with this patch, shill organizes scan results into Endpoints and
Services. although this patch does not communicate information about
Services to the UI, one can connect to an open AP by sending the
appropriate message to shill over D-Bus.

known limitations:
- does not communicate to UI
- creates a Service for every Endpoint (note, however, that this
  does not provide the ability to connect to a specific AP)
- only supports open networks

note: a fix to memory management in wifi_integrationtest slipped
into this patch.

BUG=chromium-os:16065
TEST=manual: start shill, use dbus-send to tell shill to connect

Change-Id: I26737f5e61b56497beffb9639f3e347a21ad76d7
Reviewed-on: http://gerrit.chromium.org/gerrit/2910
Reviewed-by: Chris Masone <cmasone@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
diff --git a/endpoint.h b/endpoint.h
new file mode 100644
index 0000000..e235354
--- /dev/null
+++ b/endpoint.h
@@ -0,0 +1,25 @@
+// 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_ENDPOINT_
+#define SHILL_ENDPOINT_
+
+#include <base/memory/ref_counted.h>
+
+namespace shill {
+
+class Endpoint;
+
+class Endpoint : public base::RefCounted<Endpoint> {
+ public:
+  Endpoint();
+  virtual ~Endpoint();
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(Endpoint);
+};
+
+}  // namespace shill
+
+#endif  // SHILL_ENDPOINT_