Website Summary Files Commits Branches @commit @diff @stats
path: root / Utils / k_2_SI / task2 / EventManager / EventManager.h
blob: 781ea96973b37ab2d44a1d7b1a66b239238850dc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "../Event/Event.h"
#include <iostream>
class EventManager
{
	Event** events;

	void free();
	void copyFrom(const EventManager& other);
	void resize();

	void addEvent(Event* event);

	size_t eventsCount;
	size_t capacity;

public:
	EventManager();
	EventManager(const EventManager& other);
	EventManager& operator=(const EventManager& other);
	~EventManager();


	void addEventTypeA(size_t startH, size_t startM, size_t endH, size_t endM, const char* name);
	void addEventTypeB(size_t startH, size_t startM, size_t breakH, size_t breakM, size_t endH, size_t endM);
	void addEventTypeC(size_t startH, size_t startM, size_t break1H, size_t break1M, size_t break2H, size_t break2M);

	Time getDuration(size_t ind) const;
	size_t getEventsCountDuringTime(size_t hours, size_t mins);
	Event::EventType getType(size_t ind) const;
};