X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Flibraries%2FCalendarDataStorage%2FCalendarDataStorage.h;h=402aee810d211a0e382c69f54d9f117a9c79bb01;hb=961583be6526b42c434c30b540b90fc06d988a0d;hp=7387194c8c55d315d268f58183c10236f3626e8d;hpb=a5eb33e57912c820b388073ea1a18e23f461689f;p=xestiacalendar%2F.git
diff --git a/source/libraries/CalendarDataStorage/CalendarDataStorage.h b/source/libraries/CalendarDataStorage/CalendarDataStorage.h
index 7387194..402aee8 100644
--- a/source/libraries/CalendarDataStorage/CalendarDataStorage.h
+++ b/source/libraries/CalendarDataStorage/CalendarDataStorage.h
@@ -1,3 +1,24 @@
+// CalendarDataStorage.h - CalendarDataStorage class header
+//
+// (c) 2016-2017 Xestia Software Development.
+//
+// This file is part of Xestia Calendar.
+//
+// Xestia Calendar is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by the
+// Free Software Foundation, version 3 of the license.
+//
+// Xestia Calendar is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with Xestia Calendar. If not, see
+
+#ifndef __LIBRARIES_CALENDARDATASTORAGE_H__
+#define __LIBRARIES_CALENDARDATASTORAGE_H__
+
#include
#include
#include
@@ -8,21 +29,15 @@
#include "../../objects/calendarevent/CalendarEvent.h"
#include "../../common/colour.h"
-
-#ifndef __LIBRARIES_CALENDARDATASTORAGE_H__
-#define __LIBRARIES_CALENDARDATASTORAGE_H__
-
-/*enum CDSAddEntryResult{
- CDSADDENTRY_UNITTESTFAIL = -1,
- CDSADDENTRY_OK
-}*/
+#include "../../common/random.h"
enum CDSAccountResult{
CDSACCOUNT_UNITTESTFAIL = -1,
CDSACCOUNT_OK,
CDSACCOUNT_FAILED,
CDSACCOUNT_NOACTION,
- CDSACCOUNT_NOACCOUNT
+ CDSACCOUNT_NOACCOUNT,
+ CDSACCOUNT_NONAME
};
enum CDSCalendarResult{
@@ -30,6 +45,7 @@ enum CDSCalendarResult{
CDSCALENDAR_OK,
CDSCALENDAR_FAILED,
CDSCALENDAR_NOACTION,
+ CDSCALENDAR_NOACCOUNT,
CDSCALENDAR_NOCALENDAR
};
@@ -48,6 +64,7 @@ enum CDSEntryResult{
struct CDSGetAccountInfo{
int accountID = 0;
+ int accountPreferencesID = 0;
std::string accountName = "";
CDSAccountResult accountInfoResult = CDSACCOUNT_NOACTION;
};
@@ -58,6 +75,7 @@ struct CDSGetCalendarInfo{
std::string accountName = "";
std::string calendarName = "";
std::string calendarTextID = "";
+ std::string calendarDescription = "";
Colour calendarColour;
CDSAccountResult accountInfoResult = CDSACCOUNT_NOACTION;
CDSCalendarResult calendarInfoResult = CDSCALENDAR_NOACTION;
@@ -68,12 +86,18 @@ struct CDSAddEntryResult{
CDSEntryResult addEventResult = CDSENTRY_NOACTION;
};
+struct CDSEditEntryResult{
+ int calendarEntryID = 0;
+ CDSEntryResult editEventResult = CDSENTRY_NOACTION;
+};
+
struct CDSGetCalendarEntryInfo{
int accountID = 0;
int calendarID = 0;
int calendarEntryID = 0;
std::string entryName = "";
std::string entryDescription = "";
+ std::string entryFilename = "";
int entryStartYear = 0;
int entryStartMonth = 0;
int entryStartDay = 0;
@@ -110,6 +134,26 @@ struct CDSAccountList{
CDSAccountResult getAccountListResult = CDSACCOUNT_NOACTION;
};
+enum CDSChecksumResult{
+ CDSCHECKSUM_UNITTESTFAIL = -1,
+ CDSCHECKSUM_OK,
+ CDSCHECKSUM_FAILED,
+ CDSCHECKSUM_NOHASH,
+ CDSCHECKSUM_CHECKSUMALREADYEXISTS,
+ CDSCHECKSUM_NORESULT
+};
+
+struct CDSGetChecksumResult{
+ CDSChecksumResult getChecksumResult = CDSCHECKSUM_NORESULT;
+ std::string checksumValue = "";
+};
+
+enum CDSCleanupResult{
+ CDSCLEANUP_UNITTESTFAIL = -1,
+ CDSCLEANUP_OK,
+ CDSCLEANUP_FAILED
+};
+
class CalendarDataStorage{
private:
@@ -123,7 +167,7 @@ class CalendarDataStorage{
// Account functions.
- CDSAccountResult AddAccount(std::string accountName);
+ CDSAccountResult AddAccount(std::string accountName, int accountPreferencesID);
CDSGetAccountInfo GetAccount(std::string accountName);
CDSAccountResult UpdateAccount(int accountID, std::string accountName);
CDSAccountResult DeleteAccount(int accountID);
@@ -131,10 +175,11 @@ class CalendarDataStorage{
// Calendar functions.
- CDSCalendarResult AddCalendar(int accountID, std::string calendarName, std::string calendarID, Colour calendarColour);
+ CDSCalendarResult AddCalendar(int accountID, std::string calendarName, std::string calendarID, Colour calendarColour, std::string calendarDescription);
CDSGetCalendarInfo GetCalendar(std::string accountName, std::string calendarTextID);
+ CDSGetCalendarInfo GetCalendar(int calendarID);
CDSCalendarList GetCalendarList(int accountID);
- CDSCalendarResult UpdateCalendar(int calendarID, std::string calendarName);
+ CDSCalendarResult UpdateCalendar(int calendarID, std::string calendarName, Colour calendarColour, std::string calendarDescription);
CDSCalendarResult DeleteCalendar(int calendarID);
// Entry functions
@@ -142,7 +187,19 @@ class CalendarDataStorage{
CDSAddEntryResult AddEvent(int calendarID, std::string filename);
CDSGetCalendarEntryInfo GetEvent(int calendarEntryID);
CDSEntryList GetEventList(int calendarID);
+ CDSEntryList GetEventListByDate(int calendarYear, int calendarMonth, int calendarDay);
+ CDSEditEntryResult UpdateEvent(int eventID, std::string filename);
CDSEntryResult DeleteEvent(int calendarEntryID);
+
+ // Checksum functions.
+
+ CDSChecksumResult AddChecksum(std::string checksumName, std::string checksumValue);
+ CDSGetChecksumResult GetChecksum(std::string checksumName);
+ CDSChecksumResult UpdateChecksum(std::string checksumName, std::string checksumValue);
+
+ // Cleanup functions.
+
+ CDSCleanupResult Clear();
};