blob: f09f3191f09d54430f101f597cde723f43ff6715 [file] [log] [blame]
Ben Chanb39cb312012-11-01 22:55:25 -07001// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef SHILL_CELLULAR_OPERATOR_INFO_H_
6#define SHILL_CELLULAR_OPERATOR_INFO_H_
7
8#include <string>
9
10#include <base/basictypes.h>
11#include <base/file_path.h>
12
13#include "shill/cellular_service.h"
14#include "shill/key_file_store.h"
15
16namespace shill {
17
18class GLib;
19
20class CellularOperatorInfo {
21 public:
22 explicit CellularOperatorInfo(GLib *glib);
Ben Chan15786032012-11-04 21:28:02 -080023 virtual ~CellularOperatorInfo();
Ben Chanb39cb312012-11-01 22:55:25 -070024
25 // Loads the operator info from |info_file_path|. Returns true on success.
Ben Chan15786032012-11-04 21:28:02 -080026 virtual bool Load(const FilePath &info_file_path);
Ben Chanb39cb312012-11-01 22:55:25 -070027
28 // Gets the online payment portal info of the operator with ID |operator_id|.
29 // Returns true if the info is found.
Ben Chan15786032012-11-04 21:28:02 -080030 virtual bool GetOLP(const std::string &operator_id,
31 CellularService::OLP *olp);
Ben Chanb39cb312012-11-01 22:55:25 -070032
33 private:
34 KeyFileStore info_file_;
35
36 DISALLOW_COPY_AND_ASSIGN(CellularOperatorInfo);
37};
38
39} // namespace shill
40
41#endif // SHILL_CELLULAR_OPERATOR_INFO_H_