-
Notifications
You must be signed in to change notification settings - Fork 0
/
PrinterSpooler.h
121 lines (94 loc) · 1.82 KB
/
PrinterSpooler.h
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#pragma once
#include "List.h"
#include <fstream>
class PrinterSpooler {
PList printlist;
UList userlist;
public:
void ReadPrinter() //Reads printer.txt
{
string s, pname;
int cmp;
fstream in("printer.txt", ios::in);
while (!in.eof())
{
in >> s;
pname = s;
in >> cmp;
printlist.insert(pname, cmp);
}
}
void ReadUsers() // Reads user.txt
{
fstream in("user.txt", ios::in);
string userid;
int priority;
int noOfDocuments;
while (!in.eof())
{
in >> userid;
in >> priority;
in >> noOfDocuments;
Queue q;
string docid;
int pages;
for (int i = 0; i < noOfDocuments; i++)
{
in >> docid;
in >> pages;
Doc document;
document.setDid(docid);
document.setPages(pages);
document.setUid(userid);
q.enqueue(document);
}
User tempUser;
tempUser.setUid(userid);
tempUser.setPriority(priority);
tempUser.setDocs(noOfDocuments);
userlist.insert(tempUser, q);
}
in.close();
}
void sortUsers()
{
userlist.sort();
}
void AddingDocuments()
{
while (userlist.getSize() != 0)
{
Doc docu = userlist.getNextDocument();
printlist.AddDocToPrinter(docu);
}
}
void writeSortedByPrinter()
{
printlist.writeAllSortedByPrinter();
}
void writeSortedByDoc()
{
printlist.writeAllSortedByDocument();
}
void writeSortedByUser() {
printlist.writeAllSortedByUser();
}
void displayPrinters()
{
printlist.Display();
}
void displayUsers()
{
userlist.Display();
}
void runAll() // Runs all functions
{
this->ReadPrinter();
this->ReadUsers();
this->sortUsers();
this->AddingDocuments();
// this->writeSortedByPrinter();
// this->writeSortedByDoc();
// this->writeSortedByUser();
}
};