X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Flibraries%2FCalendarDataStorage%2FCalendarDataStorage.h;h=fda46c7bca8e9b267a2a3c6756b43ff809c56ad7;hb=cba151c4b833a26c63984769f921bab5e755decd;hp=7387194c8c55d315d268f58183c10236f3626e8d;hpb=a5eb33e57912c820b388073ea1a18e23f461689f;p=xestiacalendar%2F.git diff --git a/source/libraries/CalendarDataStorage/CalendarDataStorage.h b/source/libraries/CalendarDataStorage/CalendarDataStorage.h index 7387194..fda46c7 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,9 +29,7 @@ #include "../../objects/calendarevent/CalendarEvent.h" #include "../../common/colour.h" - -#ifndef __LIBRARIES_CALENDARDATASTORAGE_H__ -#define __LIBRARIES_CALENDARDATASTORAGE_H__ +#include "../../common/random.h" /*enum CDSAddEntryResult{ CDSADDENTRY_UNITTESTFAIL = -1, @@ -48,6 +67,7 @@ enum CDSEntryResult{ struct CDSGetAccountInfo{ int accountID = 0; + int accountPreferencesID = 0; std::string accountName = ""; CDSAccountResult accountInfoResult = CDSACCOUNT_NOACTION; }; @@ -58,6 +78,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 +89,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 +137,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 +170,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 +178,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 +190,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(); };