X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Flibraries%2FCalendarDataStorage%2FCalendarDataStorage.h;h=87c5caac013e6e05d5597ea2ef93debd003da613;hb=fee0899e60de48812f9da6661ec81d6ebde131d7;hp=7387194c8c55d315d268f58183c10236f3626e8d;hpb=a5eb33e57912c820b388073ea1a18e23f461689f;p=xestiacalendar%2F.git diff --git a/source/libraries/CalendarDataStorage/CalendarDataStorage.h b/source/libraries/CalendarDataStorage/CalendarDataStorage.h index 7387194..87c5caa 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,14 +29,7 @@ #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, @@ -48,6 +62,7 @@ enum CDSEntryResult{ struct CDSGetAccountInfo{ int accountID = 0; + int accountPreferencesID = 0; std::string accountName = ""; CDSAccountResult accountInfoResult = CDSACCOUNT_NOACTION; }; @@ -58,6 +73,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 +84,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 +132,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 +165,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 +173,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 +185,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(); };