X-Git-Url: http://Server1/repobrowser/?p=xestiacalendar%2F.git;a=blobdiff_plain;f=source%2Flibraries%2FCalendarDataStorage%2FCalendarDataStorage.h;h=1e934df22d2cb56f5aab6e0769add351f217d980;hp=7387194c8c55d315d268f58183c10236f3626e8d;hb=49789773e2797383c866dca470fb99e80cb49e41;hpb=a5eb33e57912c820b388073ea1a18e23f461689f diff --git a/source/libraries/CalendarDataStorage/CalendarDataStorage.h b/source/libraries/CalendarDataStorage/CalendarDataStorage.h index 7387194..1e934df 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,19 @@ #include "../../objects/calendarevent/CalendarEvent.h" #include "../../common/colour.h" +#include "../../common/random.h" -#ifndef __LIBRARIES_CALENDARDATASTORAGE_H__ -#define __LIBRARIES_CALENDARDATASTORAGE_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{ @@ -30,6 +49,7 @@ enum CDSCalendarResult{ CDSCALENDAR_OK, CDSCALENDAR_FAILED, CDSCALENDAR_NOACTION, + CDSCALENDAR_NOACCOUNT, CDSCALENDAR_NOCALENDAR }; @@ -48,6 +68,7 @@ enum CDSEntryResult{ struct CDSGetAccountInfo{ int accountID = 0; + int accountPreferencesID = 0; std::string accountName = ""; CDSAccountResult accountInfoResult = CDSACCOUNT_NOACTION; }; @@ -58,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; @@ -68,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; @@ -110,6 +138,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 +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); @@ -131,10 +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 @@ -142,7 +191,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(); };