Line data Source code
1 : /* This Source Code Form is subject to the terms of the Mozilla Public
2 : * License, v. 2.0. If a copy of the MPL was not distributed with this
3 : * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 :
5 : #ifndef mozilla_places_PlaceInfo_h__
6 : #define mozilla_places_PlaceInfo_h__
7 :
8 : #include "mozIAsyncHistory.h"
9 : #include "nsString.h"
10 : #include "nsTArray.h"
11 : #include "nsAutoPtr.h"
12 : #include "mozilla/Attributes.h"
13 :
14 : class nsIURI;
15 : class mozIVisitInfo;
16 :
17 : namespace mozilla {
18 : namespace places {
19 :
20 :
21 : class PlaceInfo final : public mozIPlaceInfo
22 : {
23 : public:
24 : NS_DECL_ISUPPORTS
25 : NS_DECL_MOZIPLACEINFO
26 :
27 : typedef nsTArray< nsCOMPtr<mozIVisitInfo> > VisitsArray;
28 :
29 : PlaceInfo(int64_t aId, const nsCString& aGUID, already_AddRefed<nsIURI> aURI,
30 : const nsString& aTitle, int64_t aFrecency);
31 : PlaceInfo(int64_t aId, const nsCString& aGUID, already_AddRefed<nsIURI> aURI,
32 : const nsString& aTitle, int64_t aFrecency,
33 : const VisitsArray& aVisits);
34 :
35 : private:
36 0 : ~PlaceInfo() {}
37 :
38 : const int64_t mId;
39 : const nsCString mGUID;
40 : nsCOMPtr<nsIURI> mURI;
41 : const nsString mTitle;
42 : const int64_t mFrecency;
43 : const VisitsArray mVisits;
44 : bool mVisitsAvailable;
45 : };
46 :
47 : } // namespace places
48 : } // namespace mozilla
49 :
50 : #endif // mozilla_places_PlaceInfo_h__
|