1525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project/*
2525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project * Copyright (C) 2012 The Android Open Source Project
3525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *
4525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
5525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project * you may not use this file except in compliance with the License.
6525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project * You may obtain a copy of the License at
7525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *
8525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
9525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *
10525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
11525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
12525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project * See the License for the specific language governing permissions and
14525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project * limitations under the License.
15525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project */
16525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
17525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project/*
18525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *  Import and export general routing data using a XML file.
19525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project */
20525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project#pragma once
21525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project#include "NfcJniUtil.h"
22525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project#include "nfa_api.h"
23525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project#include <libxml/parser.h>
24525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project#include <vector>
25525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project#include <string>
26525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
27525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
28525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project/*****************************************************************************
29525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**
30525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**  Name:           RouteData
31525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**
32525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**  Description:    Base class for every kind of route data.
33525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**
34525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project*****************************************************************************/
35525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectclass RouteData
36525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project{
37525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectpublic:
38525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    enum RouteType {ProtocolRoute, TechnologyRoute};
39525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    RouteType mRouteType;
40525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
41525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectprotected:
42525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    RouteData (RouteType routeType) : mRouteType (routeType)
43525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    {}
44525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project};
45525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
46525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
47525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
48525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
49525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project/*****************************************************************************
50525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**
51525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**  Name:           RouteDataForProtocol
52525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**
53525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**  Description:    Data for protocol routes.
54525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**
55525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project*****************************************************************************/
56525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectclass RouteDataForProtocol : public RouteData
57525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project{
58525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectpublic:
59525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    int mNfaEeHandle; //for example 0x4f3, 0x4f4
60525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    bool mSwitchOn;
61525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    bool mSwitchOff;
62525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    bool mBatteryOff;
63525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    tNFA_PROTOCOL_MASK mProtocol;
64525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
65525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    RouteDataForProtocol () : RouteData (ProtocolRoute), mNfaEeHandle (NFA_HANDLE_INVALID),
66525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project            mSwitchOn (false), mSwitchOff (false), mBatteryOff (false),
67525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project            mProtocol (0)
68525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    {}
69525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project};
70525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
71525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
72525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project/*****************************************************************************
73525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**
74525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**  Name:           RouteDataForTechnology
75525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**
76525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**  Description:    Data for technology routes.
77525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**
78525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project*****************************************************************************/
79525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectclass RouteDataForTechnology : public RouteData
80525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project{
81525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectpublic:
82525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    int mNfaEeHandle; //for example 0x4f3, 0x4f4
83525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    bool mSwitchOn;
84525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    bool mSwitchOff;
85525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    bool mBatteryOff;
86525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    tNFA_TECHNOLOGY_MASK mTechnology;
87525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
88525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    RouteDataForTechnology () : RouteData (TechnologyRoute), mNfaEeHandle (NFA_HANDLE_INVALID),
89525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project            mSwitchOn (false), mSwitchOff (false), mBatteryOff (false),
90525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project            mTechnology (0)
91525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    {}
92525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project};
93525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
94525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
95525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project/*****************************************************************************/
96525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project/*****************************************************************************/
97525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
98525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
99525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project/*****************************************************************************
100525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**
101525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**  Name:           AidBuffer
102525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**
103525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**  Description:    Buffer to store AID after converting a string of hex
104525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**                  values to bytes.
105525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**
106525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project*****************************************************************************/
107525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectclass AidBuffer
108525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project{
109525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectpublic:
110525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
111525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    /*******************************************************************************
112525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
113525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Function:        AidBuffer
114525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
115525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Description:     Parse a string of hex numbers.  Store result in an array of
116525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **                  bytes.
117525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **                  aid: string of hex numbers.
118525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
119525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Returns:         None.
120525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
121525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    *******************************************************************************/
122525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    AidBuffer (std::string& aid);
123525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
124525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
125525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    /*******************************************************************************
126525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
127525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Function:        ~AidBuffer
128525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
129525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Description:     Release all resources.
130525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
131525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Returns:         None.
132525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
133525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    *******************************************************************************/
134525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ~AidBuffer ();
135525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
136525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
137525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    UINT8* buffer () {return mBuffer;};
138525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    int length () {return mBufferLen;};
139525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
140525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectprivate:
141525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    UINT8* mBuffer;
142525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    UINT32 mBufferLen;
143525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project};
144525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
145525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
146525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project/*****************************************************************************/
147525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project/*****************************************************************************/
148525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
149525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
150525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project/*****************************************************************************
151525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**
152525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**  Name:           RouteDataSet
153525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**
154525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**  Description:    Import and export general routing data using a XML file.
155525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**                  See /data/bcm/param/route.xml
156525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project**
157525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project*****************************************************************************/
158525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectclass RouteDataSet
159525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project{
160525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectpublic:
161525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    typedef std::vector<RouteData*> Database;
162525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    enum DatabaseSelection {DefaultRouteDatabase, SecElemRouteDatabase};
163525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
164525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
165525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    /*******************************************************************************
166525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
167525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Function:        ~RouteDataSet
168525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
169525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Description:     Release all resources.
170525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
171525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Returns:         None.
172525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
173525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    *******************************************************************************/
174525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ~RouteDataSet ();
175525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
176525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
177525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    /*******************************************************************************
178525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
179525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Function:        initialize
180525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
181525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Description:     Initialize resources.
182525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
183525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Returns:         True if ok.
184525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
185525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    *******************************************************************************/
186525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    bool initialize ();
187525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
188525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
189525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    /*******************************************************************************
190525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
191525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Function:        import
192525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
193525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Description:     Import data from an XML file.  Fill the database.
194525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
195525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Returns:         True if ok.
196525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
197525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    *******************************************************************************/
198525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    bool import ();
199525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
200525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
201525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    /*******************************************************************************
202525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
203525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Function:        getDatabase
204525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
205525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Description:     Obtain a database of routing data.
206525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **                  selection: which database.
207525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
208525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Returns:         Pointer to database.
209525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
210525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    *******************************************************************************/
211525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    Database* getDatabase (DatabaseSelection selection);
212525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
213525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
214525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    /*******************************************************************************
215525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
216525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Function:        saveToFile
217525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
218525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Description:     Save XML data from a string into a file.
219525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **                  routesXml: XML that represents routes.
220525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
221525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Returns:         True if ok.
222525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
223525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    *******************************************************************************/
224525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    static bool saveToFile (const char* routesXml);
225525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
226525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
227525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    /*******************************************************************************
228525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
229525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Function:        loadFromFile
230525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
231525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Description:     Load XML data from file into a string.
232525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **                  routesXml: string to receive XML data.
233525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
234525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Returns:         True if ok.
235525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
236525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    *******************************************************************************/
237525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    static bool loadFromFile (std::string& routesXml);
238525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
239525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
240525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    /*******************************************************************************
241525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
242525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Function:        deleteFile
243525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
244525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Description:     Delete route data XML file.
245525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
246525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Returns:         True if ok.
247525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
248525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    *******************************************************************************/
249525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    static bool deleteFile ();
250525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
251525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    /*******************************************************************************
252525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
253525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Function:        printDiagnostic
254525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
255525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Description:     Print some diagnostic output.
256525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
257525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Returns:         None.
258525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
259525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    *******************************************************************************/
260525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    void printDiagnostic ();
261525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
262525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectprivate:
263525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    Database mSecElemRouteDatabase; //routes when NFC service selects sec elem
264525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    Database mDefaultRouteDatabase; //routes when NFC service deselects sec elem
265525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    static const char* sConfigFile;
266525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    static const bool sDebug = false;
267525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
268525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
269525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    /*******************************************************************************
270525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
271525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Function:        deleteDatabase
272525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
273525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Description:     Delete all routes stored in all databases.
274525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
275525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Returns:         None.
276525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
277525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    *******************************************************************************/
278525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    void deleteDatabase ();
279525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
280525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
281525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    /*******************************************************************************
282525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
283525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Function:        importProtocolRoute
284525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
285525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Description:     Parse data for protocol routes.
286525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **                  element: XML node for one protocol route.
287525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **                  database: store data in this database.
288525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
289525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Returns:         None.
290525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
291525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    *******************************************************************************/
292525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    void importProtocolRoute (xmlNodePtr& element, Database& database);
293525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
294525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
295525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    /*******************************************************************************
296525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
297525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Function:        importTechnologyRoute
298525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
299525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Description:     Parse data for technology routes.
300525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **                  element: XML node for one technology route.
301525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **                  database: store data in this database.
302525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
303525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    ** Returns:         None.
304525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    **
305525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    *******************************************************************************/
306525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project    void importTechnologyRoute (xmlNodePtr& element, Database& database);
307525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project};
308525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project
309