phone_number_detector.h revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
1// Copyright (c) 2012 The Chromium 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 CONTENT_RENDERER_ANDROID_PHONE_NUMBER_DETECTOR_H_
6#define CONTENT_RENDERER_ANDROID_PHONE_NUMBER_DETECTOR_H_
7
8#include "base/compiler_specific.h"
9#include "content/common/content_export.h"
10#include "content/renderer/android/content_detector.h"
11
12namespace content {
13
14class PhoneNumberDetectorTest;
15
16// Finds a telephone number in the given content text string.
17class CONTENT_EXPORT PhoneNumberDetector : public ContentDetector {
18 public:
19  PhoneNumberDetector();
20  explicit PhoneNumberDetector(const std::string& region);
21  virtual ~PhoneNumberDetector();
22
23 private:
24  friend class PhoneNumberDetectorTest;
25
26  // Implementation of ContentDetector.
27  virtual bool FindContent(const string16::const_iterator& begin,
28                           const string16::const_iterator& end,
29                           size_t* start_pos,
30                           size_t* end_pos,
31                           std::string* content_text) OVERRIDE;
32  virtual GURL GetIntentURL(const std::string& content_text) OVERRIDE;
33  virtual size_t GetMaximumContentLength() OVERRIDE;
34
35  const std::string region_code_;
36
37  DISALLOW_COPY_AND_ASSIGN(PhoneNumberDetector);
38};
39
40}  // namespace content
41
42#endif  // CONTENT_RENDERER_ANDROID_PHONE_NUMBER_DETECTOR_H_
43