-/* ownCloud Android client application\r
- * Copyright (C) 2011 Bartek Przybylski\r
- *\r
- * This program is free software: you can redistribute it and/or modify\r
- * it under the terms of the GNU General Public License as published by\r
- * the Free Software Foundation, either version 3 of the License, or\r
- * (at your option) any later version.\r
- *\r
- * This program is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
- * GNU General Public License for more details.\r
- *\r
- * You should have received a copy of the GNU General Public License\r
- * along with this program. If not, see <http://www.gnu.org/licenses/>.\r
- *\r
- */\r
-package eu.alefzero.owncloud.db;\r
-\r
-import java.util.Vector;\r
-\r
-import eu.alefzero.owncloud.OwnCloudSession;\r
-\r
-import android.content.ContentValues;\r
-import android.content.Context;\r
-import android.database.Cursor;\r
-import android.database.sqlite.SQLiteDatabase;\r
-import android.database.sqlite.SQLiteOpenHelper;\r
-\r
-/**\r
- * Custom database helper for ownCloud\r
- * @author Bartek Przybylski\r
- *\r
- */\r
-public class DbHandler {\r
- private SQLiteDatabase mDB;\r
- private OpenerHepler mHelper;\r
- private final String mDatabaseName = "ownCloud";\r
- private final String TABLE_SESSIONS = "sessions";\r
- private final int mDatabaseVersion = 1;\r
- \r
- public DbHandler(Context context) {\r
- mHelper = new OpenerHepler(context);\r
- mDB = mHelper.getWritableDatabase();\r
- }\r
- \r
- public Vector<OwnCloudSession> getSessionList() {\r
- Cursor c = mDB.query(TABLE_SESSIONS, null, null, null, null, null, null);\r
- Vector<OwnCloudSession> v = new Vector<OwnCloudSession>();\r
- if (!c.moveToFirst()) {\r
- return v;\r
- }\r
- while (!c.isAfterLast()) {\r
- v.add(new OwnCloudSession(c.getString(c.getColumnIndex("sessionName")),\r
- c.getString(c.getColumnIndex("sessionUrl")),\r
- c.getInt(c.getColumnIndex("_id"))));\r
- c.moveToNext();\r
- }\r
- c.close();\r
- return v;\r
- }\r
- \r
- public void addSession(String sessionName, String uri) {\r
- ContentValues cv = new ContentValues();\r
- cv.put("sessionName", sessionName);\r
- cv.put("sessionUrl", uri);\r
- mDB.insert(TABLE_SESSIONS, null, cv);\r
- }\r
- \r
- public void removeSessionWithId(int sessionId) {\r
- mDB.delete(TABLE_SESSIONS, "_id = ?", new String[] {String.valueOf(sessionId)});\r
- }\r
-\r
- public void changeSessionFields(int id, String hostname, String uri) {\r
- ContentValues cv = new ContentValues();\r
- cv.put("sessionName", hostname);\r
- cv.put("sessionUrl", uri);\r
- mDB.update(TABLE_SESSIONS, cv, "_id = ?", new String[] {String.valueOf(id)});\r
- }\r
- \r
- public void close() {\r
- mDB.close();\r
- }\r
- \r
- private class OpenerHepler extends SQLiteOpenHelper {\r
- public OpenerHepler(Context context) {\r
- super(context, mDatabaseName, null, mDatabaseVersion);\r
- }\r
-\r
- @Override\r
- public void onCreate(SQLiteDatabase db) {\r
- db.execSQL("CREATE TABLE " + TABLE_SESSIONS + " (" +\r
- " _id INTEGER PRIMARY KEY, " +\r
- " sessionName TEXT, " +\r
- " sessionUrl TEXT);");\r
- }\r
-\r
- @Override\r
- public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {\r
- }\r
- }\r
-}\r