- Fixed a couple of bugs found when trying to make ant build file to work - Updated .gitignore to include folders created by the build xml fileFixing-travis-yml
@@ -1,3 +1,6 @@ | |||||
bin | |||||
obj | |||||
# Compiled Object files | # Compiled Object files | ||||
*.slo | *.slo | ||||
*.lo | *.lo | ||||
@@ -0,0 +1,102 @@ | |||||
<?xml version="1.0"?> | |||||
<project name="Ticketing System." | |||||
default="targets" basedir="." | |||||
xmlns:dn="antlib:org.apache.ant.dotnet" | |||||
xmlns="antlib:org.apache.tools.ant" | |||||
xmlns:cpptasks="antlib:net.sf.antcontrib.cpptasks"> | |||||
<taskdef resource="cpptasks.tasks"/> | |||||
<taskdef resource="net/sf/antcontrib/antcontrib.properties"/> | |||||
<property name="src" value="src/"/> | |||||
<property name="obj.dir" value="obj"/> | |||||
<property name="lib" value="./lib" /> | |||||
<property name="dist.dir" value="bin"/> | |||||
<property environment="env"/> | |||||
<property name="user" value="${env.USERNAME}"/> | |||||
<path id="compile.classpath"> | |||||
<pathelement location="${build}"/> | |||||
<pathelement path="${lib}/json.jar"/> | |||||
</path> | |||||
<target name="targets"> | |||||
<echo message="Targets are clean, build, execute, targets"/> | |||||
</target> | |||||
<target name="build"> | |||||
<tstamp/> | |||||
<!-- Create the build directory structure used by compile --> | |||||
<mkdir dir="${dist.dir}" /> | |||||
<mkdir dir="${obj.dir}" /> | |||||
<condition property="build.host.islinux"> | |||||
<and> | |||||
<os family="unix" /> | |||||
<not> | |||||
<contains string="${os.name}" substring="mac" | |||||
casesensitive="false"/> | |||||
</not> | |||||
</and> | |||||
</condition> | |||||
<condition property="build.host.platform" value="linux"> | |||||
<isset property="build.host.islinux" /> | |||||
</condition> | |||||
<condition property="build.host.ismac"> | |||||
<and> | |||||
<os family="unix" /> | |||||
<contains string="${os.name}" substring="mac" casesensitive="false"/> | |||||
</and> | |||||
</condition> | |||||
<condition property="build.host.platform" value="mac"> | |||||
<isset property="build.host.ismac" /> | |||||
</condition> | |||||
<fail unless="build.host.platform" | |||||
message="Building on ${os.name} is not supported" /> | |||||
<echo message="build.host.platform is: ${build.host.platform}"/> | |||||
<if> | |||||
<isset property="build.host.ismac"/> | |||||
<then> | |||||
<echo message="detected a mac host"/> | |||||
<property name="includepath" value="/opt/local/include:/usr/local/include"/> | |||||
<property name="client.lib.path" value="/opt/local/lib"/> | |||||
<property name="client.lib.list" value="c++,jsoncpp,stdc++"/> | |||||
</then> | |||||
<elseif> | |||||
<isset property="build.host.islinux"/> | |||||
<then> | |||||
<echo message="detected a linux host"/> | |||||
<property name="includepath" value="/usr/include/jsoncpp"/> | |||||
<property name="client.lib.path" value="/usr/local/lib"/> | |||||
<property name="client.lib.list" value="jsoncpp,stdc++"/> | |||||
</then> | |||||
</elseif> | |||||
<else> | |||||
<echo message="failed to detect a host I know how to build on"/> | |||||
</else> | |||||
</if> | |||||
<echo message="includepath is ${includepath}"/> | |||||
<cc outtype="executable" subsystem="console" | |||||
outfile="${dist.dir}/main" | |||||
objdir="${obj.dir}"> | |||||
<includepath> | |||||
<pathelement path="${includepath}"/> | |||||
</includepath> | |||||
<libset dir="${client.lib.path}" libs="${client.lib.list}"/> | |||||
<fileset dir="${src}" includes="Person.cpp,LogInSystem.cpp,Vehicle.cpp,VehicleManager.cpp,main.cpp"/> | |||||
</cc> | |||||
</target> | |||||
<target name="execute" depends="build"> | |||||
<exec executable="./bin/main"/> | |||||
</target> | |||||
<target name="clean"> | |||||
<delete dir="${obj.dir}" failonerror="false"/> | |||||
<delete dir="${dist.dir}" failonerror="false"/> | |||||
</target> | |||||
</project> |
@@ -14,12 +14,13 @@ using namespace std; | |||||
LogInSystem::LogInSystem() | LogInSystem::LogInSystem() | ||||
{ | { | ||||
wrongPass = 0; | |||||
} | } | ||||
LogInSystem::LogInSystem(string filename) | LogInSystem::LogInSystem(string filename) | ||||
{ | { | ||||
ifstream fin(filename); | |||||
wrongPass = 0; | |||||
ifstream fin(filename.c_str()); | |||||
while (!fin.eof()) | while (!fin.eof()) | ||||
{ | { | ||||
string username; | string username; | ||||
@@ -350,7 +351,7 @@ string LogInSystem::chgPhoneNo() | |||||
void LogInSystem::toTxtFile(string filename) | void LogInSystem::toTxtFile(string filename) | ||||
{ | { | ||||
ofstream fout(filename); | |||||
ofstream fout(filename.c_str()); | |||||
while (!users.empty()) | while (!users.empty()) | ||||
{ | { | ||||
@@ -3,7 +3,7 @@ | |||||
#include <json/json.h> | #include <json/json.h> | ||||
#include <string> | #include <string> | ||||
#include <vector> | #include <vector> | ||||
#include "Person.cpp" | |||||
#include "Person.hpp" | |||||
using namespace std; | using namespace std; | ||||
class LogInSystem | class LogInSystem | ||||
@@ -24,10 +24,10 @@ public: | |||||
string chgPassword(Person); | string chgPassword(Person); | ||||
string chgEmail(); | string chgEmail(); | ||||
string chgPhoneNo(); | string chgPhoneNo(); | ||||
void toTxtFile(); | |||||
void toTxtFile(string filename); | |||||
private: | private: | ||||
vector<Person> users; | vector<Person> users; | ||||
static int wrongPass = 0; | |||||
static int globalUserId; | |||||
int wrongPass; | |||||
int globalUserId; | |||||
}; | }; |
@@ -1,6 +1,9 @@ | |||||
#include <string> | #include <string> | ||||
#include <vector> | #include <vector> | ||||
#include <iostream> | #include <iostream> | ||||
#include <fstream> | |||||
#include <stdlib.h> | |||||
#include <stdio.h> | |||||
#include <json/json.h> | #include <json/json.h> | ||||
#include "VehicleManager.hpp" | #include "VehicleManager.hpp" | ||||
using namespace std; | using namespace std; | ||||
@@ -10,16 +13,16 @@ VehicleManager::VehicleManager() | |||||
} | } | ||||
VehicleManager::VehicleManager(string jsonFile) | |||||
VehicleManager::VehicleManager(string jsonFileName) | |||||
{ | { | ||||
ifstream jsonFile(jsonFile.c_str()); | |||||
ifstream jsonFile(jsonFileName.c_str()); | |||||
Json::Reader reader; | Json::Reader reader; | ||||
Json::Value vehicles; | Json::Value vehicles; | ||||
ifstream json(jsonFile.c_str(), ifstream::binary); | |||||
ifstream json(jsonFileName.c_str(), ifstream::binary); | |||||
bool parseSuccess = reader.parse(json, vehicles, false); | |||||
bool parseSuccess = reader.parse(json,vehicles,false); | |||||
if(parseSuccess) | if(parseSuccess) | ||||
{ | { | ||||
@@ -68,7 +71,7 @@ VehicleManager::VehicleManager(string jsonFile) | |||||
bool VehicleManager::add(Vehicle newVehicle) | bool VehicleManager::add(Vehicle newVehicle) | ||||
{ | { | ||||
if (newVehicle.getId() <= vehicle.back().getId()) | |||||
if (newVehicle.getId() <= vehicles.back().getId()) | |||||
{ | { | ||||
return false; | return false; | ||||
} | } | ||||
@@ -102,7 +105,7 @@ Vehicle VehicleManager::get(int id) | |||||
} | } | ||||
} | } | ||||
void VehicleManager::toJson(string jsonFile) | |||||
void VehicleManager::toJson(string jsonFileName) | |||||
{ | { | ||||
Json::Value jsonLib; | Json::Value jsonLib; | ||||
@@ -119,21 +122,22 @@ void VehicleManager::toJson(string jsonFile) | |||||
jsonVehicle["DateNTime"] = vehicle.getDateNTime(); | jsonVehicle["DateNTime"] = vehicle.getDateNTime(); | ||||
jsonVehicle["id"] = vehicle.getId(); | jsonVehicle["id"] = vehicle.getId(); | ||||
int* seatMap = new int[vehicle.getLength()][vehicle.getWidth()]; | |||||
Json::Value seatMap; | |||||
for (int i = 0; i < vehicle.getLength(); i++) | for (int i = 0; i < vehicle.getLength(); i++) | ||||
{ | { | ||||
Json::Value row; | |||||
for (int j = 0; j < vehicle.getWidth(); j++) | for (int j = 0; j < vehicle.getWidth(); j++) | ||||
{ | { | ||||
seatMap[i][j] = vehicle.getGuest(i, y); | |||||
row.append(vehicle.getGuest(i, j)); | |||||
} | } | ||||
seatMap.append(row); | |||||
} | } | ||||
jsonVehicle["SeatMap"] = seatMap; | jsonVehicle["SeatMap"] = seatMap; | ||||
} | } | ||||
Json::StyledStreamWriter ssw(" "); | Json::StyledStreamWriter ssw(" "); | ||||
ofstream jsonOutFile(jsonFile.c_str(), ofstream::binary); | |||||
ofstream jsonOutFile(jsonFileName.c_str(), ofstream::binary); | |||||
ssw.write(jsonOutFile, jsonLib); | ssw.write(jsonOutFile, jsonLib); | ||||
} | } | ||||
@@ -1,5 +1,7 @@ | |||||
#include <string> | #include <string> | ||||
#include <vector> | #include <vector> | ||||
#include <stdlib.h> | |||||
#include <stdio.h> | |||||
#include "Vehicle.hpp" | #include "Vehicle.hpp" | ||||
using namespace std; | using namespace std; | ||||
@@ -10,10 +12,10 @@ private: | |||||
public: | public: | ||||
VehicleManager(); | VehicleManager(); | ||||
VehicleManager(string jsonFile); | |||||
VehicleManager(string jsonFileName); | |||||
bool add(Vehicle newVehicle); | bool add(Vehicle newVehicle); | ||||
bool remove(Vehicle toRemove); | bool remove(Vehicle toRemove); | ||||
Vehicle get(int id); | Vehicle get(int id); | ||||
void toJson(string jsonFile); | |||||
void toJson(string jsonFileName); | |||||
int getId(); | int getId(); | ||||
} | |||||
}; |
@@ -2,9 +2,8 @@ | |||||
#include <vector> | #include <vector> | ||||
#include <iostream> | #include <iostream> | ||||
#include <json/json.h> | #include <json/json.h> | ||||
#include "VehicleManager.cpp" | |||||
#include "LogInSystem.cpp" | |||||
#include "Person.cpp" | |||||
#include "VehicleManager.hpp" | |||||
#include "LogInSystem.hpp" | |||||
using namespace std; | using namespace std; | ||||
int main() | int main() | ||||