X-Git-Url: http://Server1/repobrowser/?p=xestiacalendar%2F.git;a=blobdiff_plain;f=source%2Flibraries%2FCalendarDataStorage%2FCalendarDataStorage.h;h=1e934df22d2cb56f5aab6e0769add351f217d980;hp=4b41b903cbfa31413d6b9e9029527c131ad530e2;hb=49789773e2797383c866dca470fb99e80cb49e41;hpb=e6eea22921711c24e4f37ea305d2b4a72bb83adb diff --git a/source/libraries/CalendarDataStorage/CalendarDataStorage.h b/source/libraries/CalendarDataStorage/CalendarDataStorage.h index 4b41b90..1e934df 100644 --- a/source/libraries/CalendarDataStorage/CalendarDataStorage.h +++ b/source/libraries/CalendarDataStorage/CalendarDataStorage.h @@ -1,3 +1,21 @@ +// 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__ @@ -13,17 +31,17 @@ #include "../../common/colour.h" #include "../../common/random.h" -/*enum CDSAddEntryResult{ - CDSADDENTRY_UNITTESTFAIL = -1, - CDSADDENTRY_OK -}*/ +#if defined(WIN32) +#include +#endif enum CDSAccountResult{ CDSACCOUNT_UNITTESTFAIL = -1, CDSACCOUNT_OK, CDSACCOUNT_FAILED, CDSACCOUNT_NOACTION, - CDSACCOUNT_NOACCOUNT + CDSACCOUNT_NOACCOUNT, + CDSACCOUNT_NONAME }; enum CDSCalendarResult{ @@ -31,6 +49,7 @@ enum CDSCalendarResult{ CDSCALENDAR_OK, CDSCALENDAR_FAILED, CDSCALENDAR_NOACTION, + CDSCALENDAR_NOACCOUNT, CDSCALENDAR_NOCALENDAR }; @@ -49,6 +68,7 @@ enum CDSEntryResult{ struct CDSGetAccountInfo{ int accountID = 0; + int accountPreferencesID = 0; std::string accountName = ""; CDSAccountResult accountInfoResult = CDSACCOUNT_NOACTION; }; @@ -59,6 +79,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; @@ -69,12 +90,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; @@ -125,6 +152,12 @@ struct CDSGetChecksumResult{ std::string checksumValue = ""; }; +enum CDSCleanupResult{ + CDSCLEANUP_UNITTESTFAIL = -1, + CDSCLEANUP_OK, + CDSCLEANUP_FAILED +}; + class CalendarDataStorage{ private: @@ -138,7 +171,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); @@ -146,11 +179,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 @@ -159,6 +192,7 @@ class CalendarDataStorage{ 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. @@ -166,6 +200,10 @@ class CalendarDataStorage{ 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(); };