Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
emiMobile
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Mac Stephens
emiMobile
Commits
546299f9
Commit
546299f9
authored
Aug 31, 2026
by
Mac Stephens
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
3ddb7957
aa8dc61b
Hide whitespace changes
Inline
Side-by-side
Showing
128 changed files
with
482 additions
and
287 deletions
+482
-287
Api.Database.pas
emiMobileServer/Source/Api.Database.pas
+29
-7
Api.ServiceImpl.pas
emiMobileServer/Source/Api.ServiceImpl.pas
+22
-6
Auth.Database.pas
emiMobileServer/Source/Auth.Database.pas
+0
-3
Auth.ServiceImpl.pas
emiMobileServer/Source/Auth.ServiceImpl.pas
+18
-7
Common.Middleware.Logging.pas
emiMobileServer/Source/Common.Middleware.Logging.pas
+1
-1
Main.dfm
emiMobileServer/Source/Main.dfm
+20
-17
Ws.DataModel.pas
emiMobileServer/Source/Ws.DataModel.pas
+5
-1
emiMobileServer.ini
emiMobileServer/bin/emiMobileServer.ini
+6
-5
emiMobileServer.json
emiMobileServer/bin/emiMobileServer.json
+9
-0
emiMobileServer.dproj
emiMobileServer/emiMobileServer.dproj
+2
-1
App.Types.pas
webEMIMobile/App.Types.pas
+0
-1
ConnectionModule.pas
webEMIMobile/ConnectionModule.pas
+18
-10
Utils.pas
webEMIMobile/Utils.pas
+23
-0
View.ErrorPage.html
webEMIMobile/View.ErrorPage.html
+18
-7
View.Login.html
webEMIMobile/View.Login.html
+3
-2
View.Login.pas
webEMIMobile/View.Login.pas
+6
-2
View.Main.html
webEMIMobile/View.Main.html
+18
-0
View.Main.pas
webEMIMobile/View.Main.pas
+6
-0
View.Map.pas
webEMIMobile/View.Map.pas
+94
-7
agencyassist_1.png
webEMIMobile/assets/Buffalo Markers/agencyassist_1.png
+0
-0
agencyassist_2.png
webEMIMobile/assets/Buffalo Markers/agencyassist_2.png
+0
-0
agencyassist_3.png
webEMIMobile/assets/Buffalo Markers/agencyassist_3.png
+0
-0
agencyassist_4.png
webEMIMobile/assets/Buffalo Markers/agencyassist_4.png
+0
-0
agencyassist_5-9.png
webEMIMobile/assets/Buffalo Markers/agencyassist_5-9.png
+0
-0
alarm_1.png
webEMIMobile/assets/Buffalo Markers/alarm_1.png
+0
-0
alarm_2.png
webEMIMobile/assets/Buffalo Markers/alarm_2.png
+0
-0
alarm_3.png
webEMIMobile/assets/Buffalo Markers/alarm_3.png
+0
-0
alarm_4.png
webEMIMobile/assets/Buffalo Markers/alarm_4.png
+0
-0
alarm_5-9.png
webEMIMobile/assets/Buffalo Markers/alarm_5-9.png
+0
-0
assault_1.png
webEMIMobile/assets/Buffalo Markers/assault_1.png
+0
-0
assault_2.png
webEMIMobile/assets/Buffalo Markers/assault_2.png
+0
-0
assault_3.png
webEMIMobile/assets/Buffalo Markers/assault_3.png
+0
-0
assault_4.png
webEMIMobile/assets/Buffalo Markers/assault_4.png
+0
-0
assault_5-9.png
webEMIMobile/assets/Buffalo Markers/assault_5-9.png
+0
-0
car_A.png
webEMIMobile/assets/Buffalo Markers/car_A.png
+0
-0
car_B.png
webEMIMobile/assets/Buffalo Markers/car_B.png
+0
-0
car_C.png
webEMIMobile/assets/Buffalo Markers/car_C.png
+0
-0
car_D.png
webEMIMobile/assets/Buffalo Markers/car_D.png
+0
-0
car_E.png
webEMIMobile/assets/Buffalo Markers/car_E.png
+0
-0
car_X.png
webEMIMobile/assets/Buffalo Markers/car_X.png
+0
-0
car_default.png
webEMIMobile/assets/Buffalo Markers/car_default.png
+0
-0
car_ems.png
webEMIMobile/assets/Buffalo Markers/car_ems.png
+0
-0
car_fire.png
webEMIMobile/assets/Buffalo Markers/car_fire.png
+0
-0
car_police.png
webEMIMobile/assets/Buffalo Markers/car_police.png
+0
-0
caraccident_1.png
webEMIMobile/assets/Buffalo Markers/caraccident_1.png
+0
-0
caraccident_2.png
webEMIMobile/assets/Buffalo Markers/caraccident_2.png
+0
-0
caraccident_3.png
webEMIMobile/assets/Buffalo Markers/caraccident_3.png
+0
-0
caraccident_4.png
webEMIMobile/assets/Buffalo Markers/caraccident_4.png
+0
-0
caraccident_5-9.png
webEMIMobile/assets/Buffalo Markers/caraccident_5-9.png
+0
-0
caraccident_attached.png
webEMIMobile/assets/Buffalo Markers/caraccident_attached.png
+0
-0
deadbody_1.png
webEMIMobile/assets/Buffalo Markers/deadbody_1.png
+0
-0
deadbody_2.png
webEMIMobile/assets/Buffalo Markers/deadbody_2.png
+0
-0
deadbody_3.png
webEMIMobile/assets/Buffalo Markers/deadbody_3.png
+0
-0
deadbody_4.png
webEMIMobile/assets/Buffalo Markers/deadbody_4.png
+0
-0
deadbody_5-9.png
webEMIMobile/assets/Buffalo Markers/deadbody_5-9.png
+0
-0
default.png
webEMIMobile/assets/Buffalo Markers/default.png
+0
-0
default_1.png
webEMIMobile/assets/Buffalo Markers/default_1.png
+0
-0
default_2.png
webEMIMobile/assets/Buffalo Markers/default_2.png
+0
-0
default_3.png
webEMIMobile/assets/Buffalo Markers/default_3.png
+0
-0
default_4.png
webEMIMobile/assets/Buffalo Markers/default_4.png
+0
-0
default_5-9.png
webEMIMobile/assets/Buffalo Markers/default_5-9.png
+0
-0
default_attached.png
webEMIMobile/assets/Buffalo Markers/default_attached.png
+0
-0
default_notattached.png
webEMIMobile/assets/Buffalo Markers/default_notattached.png
+0
-0
default_onscene.png
webEMIMobile/assets/Buffalo Markers/default_onscene.png
+0
-0
directedpatrol_1.png
webEMIMobile/assets/Buffalo Markers/directedpatrol_1.png
+0
-0
directedpatrol_2.png
webEMIMobile/assets/Buffalo Markers/directedpatrol_2.png
+0
-0
directedpatrol_3.png
webEMIMobile/assets/Buffalo Markers/directedpatrol_3.png
+0
-0
directedpatrol_4.png
webEMIMobile/assets/Buffalo Markers/directedpatrol_4.png
+0
-0
directedpatrol_5-9.png
webEMIMobile/assets/Buffalo Markers/directedpatrol_5-9.png
+0
-0
fire_1.png
webEMIMobile/assets/Buffalo Markers/fire_1.png
+0
-0
fire_2.png
webEMIMobile/assets/Buffalo Markers/fire_2.png
+0
-0
fire_3.png
webEMIMobile/assets/Buffalo Markers/fire_3.png
+0
-0
fire_4.png
webEMIMobile/assets/Buffalo Markers/fire_4.png
+0
-0
fire_5-9.png
webEMIMobile/assets/Buffalo Markers/fire_5-9.png
+0
-0
gun_1.png
webEMIMobile/assets/Buffalo Markers/gun_1.png
+0
-0
gun_2.png
webEMIMobile/assets/Buffalo Markers/gun_2.png
+0
-0
gun_3.png
webEMIMobile/assets/Buffalo Markers/gun_3.png
+0
-0
gun_5-9.png
webEMIMobile/assets/Buffalo Markers/gun_5-9.png
+0
-0
gun_5.png
webEMIMobile/assets/Buffalo Markers/gun_5.png
+0
-0
home_1.png
webEMIMobile/assets/Buffalo Markers/home_1.png
+0
-0
home_2.png
webEMIMobile/assets/Buffalo Markers/home_2.png
+0
-0
home_3.png
webEMIMobile/assets/Buffalo Markers/home_3.png
+0
-0
home_4.png
webEMIMobile/assets/Buffalo Markers/home_4.png
+0
-0
home_5-9.png
webEMIMobile/assets/Buffalo Markers/home_5-9.png
+0
-0
location_dot.png
webEMIMobile/assets/Buffalo Markers/location_dot.png
+0
-0
medical_1.png
webEMIMobile/assets/Buffalo Markers/medical_1.png
+0
-0
medical_2.png
webEMIMobile/assets/Buffalo Markers/medical_2.png
+0
-0
medical_3.png
webEMIMobile/assets/Buffalo Markers/medical_3.png
+0
-0
medical_4.png
webEMIMobile/assets/Buffalo Markers/medical_4.png
+0
-0
medical_5-9.png
webEMIMobile/assets/Buffalo Markers/medical_5-9.png
+0
-0
missingperson_1.png
webEMIMobile/assets/Buffalo Markers/missingperson_1.png
+0
-0
missingperson_2.png
webEMIMobile/assets/Buffalo Markers/missingperson_2.png
+0
-0
missingperson_3.png
webEMIMobile/assets/Buffalo Markers/missingperson_3.png
+0
-0
missingperson_4.png
webEMIMobile/assets/Buffalo Markers/missingperson_4.png
+0
-0
missingperson_5-9.png
webEMIMobile/assets/Buffalo Markers/missingperson_5-9.png
+0
-0
narcotics_1.png
webEMIMobile/assets/Buffalo Markers/narcotics_1.png
+0
-0
narcotics_2.png
webEMIMobile/assets/Buffalo Markers/narcotics_2.png
+0
-0
narcotics_3.png
webEMIMobile/assets/Buffalo Markers/narcotics_3.png
+0
-0
narcotics_4.png
webEMIMobile/assets/Buffalo Markers/narcotics_4.png
+0
-0
narcotics_5-9.png
webEMIMobile/assets/Buffalo Markers/narcotics_5-9.png
+0
-0
noise_1.png
webEMIMobile/assets/Buffalo Markers/noise_1.png
+0
-0
noise_2.png
webEMIMobile/assets/Buffalo Markers/noise_2.png
+0
-0
noise_3.png
webEMIMobile/assets/Buffalo Markers/noise_3.png
+0
-0
noise_4.png
webEMIMobile/assets/Buffalo Markers/noise_4.png
+0
-0
noise_5-9.png
webEMIMobile/assets/Buffalo Markers/noise_5-9.png
+0
-0
robbery_1.png
webEMIMobile/assets/Buffalo Markers/robbery_1.png
+0
-0
robbery_2.png
webEMIMobile/assets/Buffalo Markers/robbery_2.png
+0
-0
robbery_3.png
webEMIMobile/assets/Buffalo Markers/robbery_3.png
+0
-0
robbery_4.png
webEMIMobile/assets/Buffalo Markers/robbery_4.png
+0
-0
robbery_5-9.png
webEMIMobile/assets/Buffalo Markers/robbery_5-9.png
+0
-0
school_1.png
webEMIMobile/assets/Buffalo Markers/school_1.png
+0
-0
school_2.png
webEMIMobile/assets/Buffalo Markers/school_2.png
+0
-0
school_3.png
webEMIMobile/assets/Buffalo Markers/school_3.png
+0
-0
school_4.png
webEMIMobile/assets/Buffalo Markers/school_4.png
+0
-0
school_5-9.png
webEMIMobile/assets/Buffalo Markers/school_5-9.png
+0
-0
suspicious_1.png
webEMIMobile/assets/Buffalo Markers/suspicious_1.png
+0
-0
suspicious_2.png
webEMIMobile/assets/Buffalo Markers/suspicious_2.png
+0
-0
suspicious_3.png
webEMIMobile/assets/Buffalo Markers/suspicious_3.png
+0
-0
suspicious_4.png
webEMIMobile/assets/Buffalo Markers/suspicious_4.png
+0
-0
suspicious_5-9.png
webEMIMobile/assets/Buffalo Markers/suspicious_5-9.png
+0
-0
traffic_1.png
webEMIMobile/assets/Buffalo Markers/traffic_1.png
+0
-0
traffic_2.png
webEMIMobile/assets/Buffalo Markers/traffic_2.png
+0
-0
traffic_3.png
webEMIMobile/assets/Buffalo Markers/traffic_3.png
+0
-0
traffic_4.png
webEMIMobile/assets/Buffalo Markers/traffic_4.png
+0
-0
traffic_5-9.png
webEMIMobile/assets/Buffalo Markers/traffic_5-9.png
+0
-0
index.html
webEMIMobile/index.html
+2
-1
wcEmiMobile.dpr
webEMIMobile/wcEmiMobile.dpr
+7
-35
wcEmiMobile.dproj
webEMIMobile/wcEmiMobile.dproj
+175
-174
No files found.
emiMobileServer/Source/Api.Database.pas
View file @
546299f9
...
...
@@ -211,11 +211,13 @@ type
procedure
UniAlerter1Event
(
Sender
:
TDAAlerter
;
const
EventName
,
Message
:
string
);
private
{ Private declarations }
public
CADUpdate
:
Boolean
;
function
HandleUniqueFilenames
(
const
category
:
string
):
string
;
function
BadgeCounts
(
const
BaseQuery
:
TUniQuery
):
Integer
;
function
EnsureConnected
:
Boolean
;
end
;
var
...
...
@@ -240,15 +242,35 @@ begin
ucENTCAD
.
Password
:=
IniEntries
.
DatabasePassword
;
ucENTCAD
.
LoginPrompt
:=
False
;
if
not
ucENTCAD
.
Connected
then
ucENTCAD
.
Connect
;
EnsureConnected
;
end
;
function
TApiDatabaseModule
.
EnsureConnected
:
Boolean
;
begin
Result
:=
False
;
try
if
not
ucENTCAD
.
Connected
then
begin
Logger
.
Log
(
2
,
'Connecting to PostgreSQL API database...'
);
ucENTCAD
.
Connect
;
ucENTCAD
.
ExecSQL
(
'set search_path to lems, avl, entcad, public'
);
Logger
.
Log
(
2
,
'PostgreSQL API search_path set to lems, avl, entcad, public'
);
ucENTCAD
.
ExecSQL
(
'set search_path to lems, avl, entcad, public'
);
Logger
.
Log
(
2
,
'PostgreSQL API search_path set to lems, avl, entcad, public'
);
Logger
.
Log
(
1
,
'Starting PostgreSQL disupdate listener'
);
UniAlerter1
.
Start
;
Logger
.
Log
(
1
,
'PostgreSQL disupdate listener started'
);
Logger
.
Log
(
1
,
'Starting PostgreSQL disupdate listener'
);
UniAlerter1
.
Start
;
Logger
.
Log
(
1
,
'PostgreSQL disupdate listener started'
);
CADUpdate
:=
True
;
end
;
Result
:=
True
;
except
on
E
:
Exception
do
Logger
.
Log
(
1
,
'PostgreSQL API database unavailable: '
+
E
.
Message
);
end
;
end
;
procedure
TApiDatabaseModule
.
uqComplaintListCalcFields
(
DataSet
:
TDataSet
);
...
...
emiMobileServer/Source/Api.ServiceImpl.pas
View file @
546299f9
...
...
@@ -14,9 +14,11 @@ type
strict
private
ApiDB
:
TApiDatabaseModule
;
private
procedure
AfterConstruction
;
override
;
procedure
BeforeDestruction
;
override
;
public
constructor
Create
;
destructor
Destroy
;
override
;
function
GetBadgeCounts
:
TJSONObject
;
function
GetComplaintList
:
TJSONObject
;
function
GetUnitList
:
TJSONObject
;
...
...
@@ -37,21 +39,35 @@ implementation
uses
uLibrary
;
procedure
TApiService
.
AfterConstruction
;
constructor
TApiService
.
Create
;
begin
inherited
;
Logger
.
Log
(
3
,
'TApiService.Create'
);
inherited
Create
;
ApiDB
:=
TApiDatabaseModule
.
Create
(
nil
);
if
not
ApiDB
.
ucENTCAD
.
Connected
then
begin
Logger
.
Log
(
1
,
'Unable to connect to API database'
);
raise
EXDataHttpException
.
Create
(
500
,
'Unable to connect to the database. Please contact EM Systems support.'
);
end
;
Logger
.
Log
(
3
,
'ApiDatabaseModule created'
);
end
;
procedure
TApiService
.
BeforeDestruction
;
destructor
TApiService
.
Destroy
;
begin
ApiDB
.
Free
;
inherited
;
Logger
.
Log
(
3
,
'ApiDatabaseModule destroyed'
);
inherited
Destroy
;
end
;
function
TApiService
.
GetBadgeCounts
:
TJSONObject
;
begin
Logger
.
Log
(
3
,
'---TApiService.GetBadgeCounts initiated'
);
...
...
emiMobileServer/Source/Auth.Database.pas
View file @
546299f9
...
...
@@ -55,10 +55,7 @@ begin
ucLemsOCSO
.
Connect
;
except
on
E
:
Exception
do
begin
Logger
.
Log
(
2
,
Format
(
'Failed to connect to auth database: %s'
,
[
E
.
Message
]));
raise
;
end
;
end
;
end
;
...
...
emiMobileServer/Source/Auth.ServiceImpl.pas
View file @
546299f9
...
...
@@ -21,12 +21,13 @@ type
userBadge
:
string
;
userId
:
string
;
userPersonnelId
:
string
;
procedure
AfterConstruction
;
override
;
procedure
BeforeDestruction
;
override
;
function
VerifyVersion
(
ClientVersion
:
string
):
TJSONObject
;
function
CheckUser
(
const
User
,
Password
,
Agency
:
string
):
Integer
;
function
Decrypt
(
inStr
,
keyStr
:
AnsiString
):
AnsiString
;
public
constructor
Create
;
destructor
Destroy
;
override
;
function
Login
(
const
User
,
Password
,
Agency
:
string
):
string
;
function
GetAgencieslist
():
TAgenciesList
;
function
GetAgencyConfiglist
:
TAgencyConfigList
;
...
...
@@ -46,20 +47,31 @@ uses
{ TAuthService }
procedure
TAuthService
.
AfterConstruction
;
constructor
TAuthService
.
Create
;
begin
inherited
;
Logger
.
Log
(
3
,
'TAuthService.Create'
);
inherited
Create
;
authDB
:=
TAuthDatabase
.
Create
(
nil
);
if
not
authDB
.
ucLemsOCSO
.
Connected
then
begin
Logger
.
Log
(
1
,
'Unable to connect to auth database'
);
raise
EXDataHttpException
.
Create
(
500
,
'Unable to connect to the database. Please contact EM Systems support.'
);
end
;
Logger
.
Log
(
3
,
'AuthDatabase created'
);
end
;
procedure
TAuthService
.
BeforeDestruction
;
destructor
TAuthService
.
Destroy
;
begin
authDB
.
Free
;
inherited
;
Logger
.
Log
(
3
,
'AuthDatabase destroyed'
);
inherited
Destroy
;
end
;
function
TAuthService
.
GetAgenciesList
:
TAgenciesList
;
var
agency
:
TAgencyItem
;
...
...
@@ -194,7 +206,6 @@ var
JWT
:
TJWT
;
begin
Logger
.
Log
(
1
,
Format
(
'AuthService.Login - User: "%s" Agency: "%s"'
,
[
User
,
Agency
]));
userState
:=
CheckUser
(
User
,
Password
,
Agency
);
try
userState
:=
CheckUser
(
User
,
Password
,
Agency
);
...
...
emiMobileServer/Source/Common.Middleware.Logging.pas
View file @
546299f9
...
...
@@ -148,7 +148,7 @@ begin
Result
:=
''
;
Msg
:=
TStringList
.
Create
;
try
Msg
.
Add
(
Format
(
'%s %s %s'
,
Msg
.
Add
(
Format
(
'%s %s %s
%s
'
,
[
FMethod
,
FUriPath
+
FUriQuery
,
...
...
emiMobileServer/Source/Main.dfm
View file @
546299f9
...
...
@@ -2,8 +2,8 @@ object FMain: TFMain
Left = 0
Top = 0
Caption = 'emiMobileServer'
ClientHeight =
616
ClientWidth = 77
2
ClientHeight =
773
ClientWidth = 77
8
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
...
...
@@ -12,29 +12,31 @@ object FMain: TFMain
Font.Style = []
OnClose = FormClose
DesignSize = (
77
2
616
)
77
8
773
)
TextHeight = 13
object pgcMain: TPageControl
Left = 8
Top = 39
Width = 756
Height = 575
ActivePage = tabConnectedClients
Left = 0
Top = 40
Width = 778
Height = 733
ActivePage = tabServerLog
Align = alBottom
Anchors = [akLeft, akTop, akRight, akBottom]
TabOrder = 3
ExplicitHeight = 575
object tabServerLog: TTabSheet
Caption = 'Server Log'
object memoInfo: TMemo
Left = 0
Top = 0
Width = 7
48
Height =
547
Width = 7
70
Height =
705
Align = alClient
ReadOnly = True
ScrollBars = ssVertical
TabOrder = 0
WordWrap = False
ExplicitHeight = 547
end
end
object tabConnectedClients: TTabSheet
...
...
@@ -43,8 +45,8 @@ object FMain: TFMain
object grdConnectedClients: TDBGrid
Left = 0
Top = 0
Width = 7
48
Height =
487
Width = 7
70
Height =
645
Align = alClient
DataSource = dsConnectedClients
Options = [dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgConfirmDelete, dgCancelOnExit, dgTitleClick, dgTitleHotTrack]
...
...
@@ -75,13 +77,14 @@ object FMain: TFMain
end
object pnlConnectedClientsActions: TPanel
Left = 0
Top =
487
Width = 7
48
Top =
645
Width = 7
70
Height = 60
Align = alBottom
Caption = 'pnlConnectedClientsActions'
ShowCaption = False
TabOrder = 1
ExplicitTop = 487
object btnDisconnectClient: TButton
Left = 5
Top = 18
...
...
@@ -120,7 +123,7 @@ object FMain: TFMain
OnClick = btnApiSwaggerUIClick
end
object btnExit: TButton
Left =
713
Left =
695
Top = 8
Width = 75
Height = 25
...
...
emiMobileServer/Source/Ws.DataModel.pas
View file @
546299f9
...
...
@@ -71,6 +71,9 @@ end;
procedure
TWsDataModel
.
TimerFire
(
Sender
:
TObject
);
begin
if
not
FDb
.
ucENTCAD
.
Connected
then
Exit
;
if
not
FDb
.
CADUpdate
then
Exit
;
...
...
@@ -80,12 +83,13 @@ end;
procedure
TWsDataModel
.
BroadcastAll
;
begin
Logger
.
Log
(
3
,
'WsDataModel: broadcasting all
'
);
Logger
.
Log
(
5
,
'WsDataModel: BroadcastAll initiated
'
);
try
FBroadcast
(
BuildBadgeCountsJson
);
except
on
E
:
Exception
do
Logger
.
Log
(
2
,
'WsDataModel BADGE_COUNTS error: '
+
E
.
Message
);
end
;
try
FBroadcast
(
BuildUnitMapJson
);
except
on
E
:
Exception
do
Logger
.
Log
(
2
,
'WsDataModel UNIT_MAP error: '
+
E
.
Message
);
end
;
try
FBroadcast
(
BuildComplaintMapJson
);
except
on
E
:
Exception
do
Logger
.
Log
(
2
,
'WsDataModel COMPLAINT_MAP error: '
+
E
.
Message
);
end
;
try
FBroadcast
(
BuildUnitListJson
);
except
on
E
:
Exception
do
Logger
.
Log
(
2
,
'WsDataModel UNIT_LIST error: '
+
E
.
Message
);
end
;
try
FBroadcast
(
BuildComplaintListJson
);
except
on
E
:
Exception
do
Logger
.
Log
(
2
,
'WsDataModel COMPLAINT_LIST error: '
+
E
.
Message
);
end
;
Logger
.
Log
(
5
,
'WsDataModel: BroadcastAll end'
);
end
;
function
TWsDataModel
.
BuildBadgeCountsJson
:
string
;
...
...
emiMobileServer/bin/emiMobileServer.ini
View file @
546299f9
[Settings]
LogFileNum
=
1
05
webClientVersion
=
9.4.0
LogFileNum
=
1
44
webClientVersion
=
0.9.4.1
[Database]
--Server
=
192.168.102.10
Server
=
192.168.56.129
--Server
=
192.168.91.136
Server
=
192.168.102.10
--Server
=
192.168.56.129
Port
=
5432
--Port
=
5433
Database
=
lems_wcso
Username
=
postgres
--Password
=
postgreSQL
Password
=
emsys01
--Postgre!SQL
emiMobileServer/bin/emiMobileServer.json
0 → 100644
View file @
546299f9
{
"url"
:
"http://localhost:2009/emiMobile/"
,
"jwtTokenSecret"
:
"super_secret0123super_secret4567"
,
"adminPassword"
:
"whatisthisusedfor?"
,
"webAppFolder"
:
"static"
,
"memoLogLevel"
:
5
,
"fileLogLevel"
:
5
}
\ No newline at end of file
emiMobileServer/emiMobileServer.dproj
View file @
546299f9
...
...
@@ -108,8 +108,9 @@
<VerInfo_MajorVer>0</VerInfo_MajorVer>
<VerInfo_MinorVer>9</VerInfo_MinorVer>
<VerInfo_Release>4</VerInfo_Release>
<VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=0.9.4.
0
;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=0.9.2.0;Comments=</VerInfo_Keys>
<VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=0.9.4.
1
;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=0.9.2.0;Comments=</VerInfo_Keys>
<DCC_UnitSearchPath>C:\RADTOOLS\FastMM4;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
<VerInfo_Build>1</VerInfo_Build>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_1_Win64)'!=''">
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
...
...
webEMIMobile/App.Types.pas
View file @
546299f9
...
...
@@ -11,7 +11,6 @@ type
TSuccessProc
=
reference
to
procedure
;
TLogoutProc
=
reference
to
procedure
(
AMessage
:
string
=
''
);
TUnauthorizedAccessProc
=
reference
to
procedure
(
AMessage
:
string
);
TVersionCheckCallback
=
reference
to
procedure
(
Success
:
Boolean
;
ErrorMessage
:
string
);
TListProc
=
reference
to
procedure
;
TSelectProc
=
reference
to
procedure
(
AParam
:
string
);
...
...
webEMIMobile/ConnectionModule.pas
View file @
546299f9
...
...
@@ -4,7 +4,7 @@ interface
uses
System
.
SysUtils
,
System
.
Classes
,
WEBLib
.
Modules
,
XData
.
Web
.
Connection
,
App
.
Types
,
App
.
Config
,
XData
.
Web
.
Client
;
XData
.
Web
.
Client
,
App
.
Types
,
App
.
Config
;
type
TDMConnection
=
class
(
TWebDataModule
)
...
...
@@ -18,12 +18,12 @@ type
private
FUnauthorizedAccessProc
:
TUnauthorizedAccessProc
;
FWsUrl
:
string
;
procedure
VerifyVersion
(
SuccessProc
:
TSuccessProc
);
public
property
WsUrl
:
string
read
FWsUrl
;
const
clientVersion
=
'
9.4.0
'
;
const
clientVersion
=
'
0.9.4.1
'
;
procedure
InitApp
(
SuccessProc
:
TSuccessProc
;
UnauthorizedAccessProc
:
TUnauthorizedAccessProc
);
procedure
SetClientConfig
(
Callback
:
TVersionCheckCallback
);
end
;
var
...
...
@@ -57,7 +57,8 @@ procedure TDMConnection.ApiConnectionResponse(
Args
:
TXDataWebConnectionResponse
);
begin
if
Args
.
Response
.
StatusCode
=
401
then
FUnauthorizedAccessProc
(
Format
(
'%d: %s'
,[
Args
.
Response
.
StatusCode
,
Args
.
Response
.
ContentAsText
]));
FUnauthorizedAccessProc
(
Format
(
'%d: %s'
,
[
Args
.
Response
.
StatusCode
,
Args
.
Response
.
ContentAsText
]));
end
;
procedure
TDMConnection
.
AuthConnectionError
(
Error
:
TXDataWebConnectionError
);
...
...
@@ -79,7 +80,11 @@ procedure TDMConnection.InitApp(SuccessProc: TSuccessProc;
if
Config
.
WsUrl
<>
''
then
FWsUrl
:=
Config
.
WsUrl
;
AuthConnection
.
Open
(
SuccessProc
);
AuthConnection
.
Open
(
procedure
begin
VerifyVersion
(
SuccessProc
);
end
);
end
;
begin
...
...
@@ -87,8 +92,7 @@ begin
LoadConfig
(@
ConfigLoaded
);
end
;
procedure
TDMConnection
.
SetClientConfig
(
Callback
:
TVersionCheckCallback
);
procedure
TDMConnection
.
VerifyVersion
(
SuccessProc
:
TSuccessProc
);
begin
XDataWebClient1
.
Connection
:=
AuthConnection
;
...
...
@@ -100,15 +104,19 @@ begin
begin
jsonResult
:=
TJSObject
(
Response
.
Result
);
if
jsonResult
.
HasOwnProperty
(
'error'
)
then
if
Assigned
(
jsonResult
)
and
jsonResult
.
HasOwnProperty
(
'error'
)
then
error
:=
string
(
jsonResult
[
'error'
])
else
error
:=
''
;
if
error
<>
''
then
Callback
(
False
,
error
)
TFViewErrorPage
.
Display
(
error
)
else
Callback
(
True
,
''
);
SuccessProc
;
end
,
procedure
(
Error
:
TXDataClientError
)
begin
TFViewErrorPage
.
Display
(
Error
.
ErrorMessage
);
end
);
end
;
...
...
webEMIMobile/Utils.pas
View file @
546299f9
...
...
@@ -15,6 +15,7 @@ function FormatPhoneNumber(PhoneNumber: string): string;
procedure
ApplyReportTitle
(
CurrentReportType
:
string
);
procedure
ShowToast
(
const
MessageText
:
string
;
const
ToastType
:
string
=
'success'
);
procedure
ShowConfirmationModal
(
msg
,
leftLabel
,
rightLabel
:
string
;
ConfirmProc
:
TProc
<
Boolean
>);
procedure
ShowInformationModal
(
const
Title
,
MessageText
:
string
);
// function FormatDollarValue(ValueStr: string): string;
...
...
@@ -220,6 +221,28 @@ begin
end
;
procedure
ShowInformationModal
(
const
Title
,
MessageText
:
string
);
begin
asm
var
modal
=
document
.
getElementById
(
'main_information_modal'
);
var
title
=
document
.
getElementById
(
'main_information_modal_title'
);
var
body
=
document
.
getElementById
(
'main_information_modal_body'
);
if
(!
modal
)
return
;
if
(
title
)
title
.
innerText
=
Title
;
if
(
body
)
body
.
innerText
=
MessageText
;
if
(
modal
.
parentNode
!==
document
.
body
)
{
document.body.appendChild(modal);
}
var
bsModal
=
bootstrap
.
Modal
.
getOrCreateInstance
(
modal
);
bsModal
.
show
();
end
;
end
;
function
CalculateAge
(
DateOfBirth
:
TDateTime
):
Integer
;
var
Today
,
BirthDate
:
TJSDate
;
...
...
webEMIMobile/View.ErrorPage.html
View file @
546299f9
<div
class=
"container"
>
<br
/>
<div
class=
"row justify-content-center mt-5"
>
<div
class=
"col-12 col-sm-10 col-md-8 col-lg-6"
>
<div
class=
"card shadow-sm border-danger"
>
<div
class=
"panel panel-red"
>
<div
id=
"view.errorpage.title"
class=
"panel-heading
"
>
Error Page
<div
id=
"view.errorpage.title"
class=
"card-header bg-danger text-white fw-semibold
"
>
Error
</div>
<div
id=
"view.errorpage.message"
class=
"panel-body"
>
<div
class=
"card-body"
>
<div
id=
"view.errorpage.message"
class=
"text-danger"
>
Message
</div>
</div>
<div
class=
"panel-footer"
>
<a
href=
"."
>
Reload web application
</a>
<div
class=
"card-footer bg-light text-end"
>
<a
href=
"."
class=
"btn btn-outline-danger btn-sm"
>
Reload web application
</a>
</div>
</div>
</div>
</div>
</div>
webEMIMobile/View.Login.html
View file @
546299f9
...
...
@@ -52,8 +52,9 @@
Login
</button>
</div>
<div
class=
"card-footer text-muted small"
>
Please use your lems username
&
password to login.
<div
class=
"card-footer text-muted small d-flex justify-content-between"
>
<span>
Please use your lems username
&
password to login.
</span>
<span
id=
"view.login.version"
class=
"opacity-75"
></span>
</div>
</div>
</div>
...
...
webEMIMobile/View.Login.pas
View file @
546299f9
...
...
@@ -4,7 +4,7 @@ interface
uses
System
.
SysUtils
,
System
.
Classes
,
WEBLib
.
Graphics
,
WEBLib
.
Controls
,
WEBLib
.
Forms
,
WEBLib
.
Dialogs
,
Vcl
.
Controls
,
Vcl
.
StdCtrls
,
WEBLib
.
StdCtrls
,
WEBLib
.
JSON
,
Vcl
.
Controls
,
Vcl
.
StdCtrls
,
WEBLib
.
StdCtrls
,
WEBLib
.
JSON
,
Web
,
JS
,
XData
.
Web
.
Connection
,
WEBLib
.
ExtCtrls
,
App
.
Types
,
ConnectionModule
,
XData
.
Web
.
Client
;
...
...
@@ -65,8 +65,12 @@ end;
procedure
TFViewLogin
.
WebFormCreate
(
Sender
:
TObject
);
var
el
:
TJSElement
;
begin
// lblAppTitle.Caption := 'EM Systems - webCharms App ver 0.9.2.22';
el
:=
Document
.
getElementById
(
'view.login.version'
);
if
Assigned
(
el
)
then
TJSHtmlElement
(
el
).
innerText
:=
'v'
+
TDMConnection
.
clientVersion
;
GetAgencyConfigList
();
if
FMessage
<>
''
then
ShowNotification
(
FMessage
)
...
...
webEMIMobile/View.Main.html
View file @
546299f9
...
...
@@ -15,6 +15,7 @@
<div
class=
"d-flex align-items-center gap-2 ms-auto"
>
<span
id=
"view.main.lblconnection"
class=
"navbar-text text-light small"
></span>
<span
id=
"view.main.version"
class=
"navbar-text text-light small opacity-75"
></span>
<button
id=
"btn_logout"
type=
"button"
class=
"btn btn-outline-light btn-sm"
>
Logout
</button>
</div>
</div>
...
...
@@ -78,6 +79,23 @@
</nav>
</div>
<!-- Information modal -->
<div
class=
"modal fade"
id=
"main_information_modal"
tabindex=
"-1"
aria-labelledby=
"main_information_modal_title"
aria-hidden=
"true"
>
<div
class=
"modal-dialog modal-dialog-centered modal-sm mx-auto px-3"
>
<div
class=
"modal-content shadow-lg"
>
<div
class=
"modal-header"
>
<h5
class=
"modal-title"
id=
"main_information_modal_title"
>
Information
</h5>
<button
type=
"button"
class=
"btn-close"
data-bs-dismiss=
"modal"
aria-label=
"Close"
></button>
</div>
<div
class=
"modal-body fs-6 fw-bold"
id=
"main_information_modal_body"
></div>
<div
class=
"modal-footer"
>
<button
type=
"button"
class=
"btn btn-primary w-100"
data-bs-dismiss=
"modal"
>
OK
</button>
</div>
</div>
</div>
</div>
<!-- Spinner -->
<div
id=
"spinner"
class=
"position-absolute top-50 start-50 translate-middle d-none"
>
<div
class=
"lds-roller"
>
...
...
webEMIMobile/View.Main.pas
View file @
546299f9
...
...
@@ -121,9 +121,15 @@ const
procedure
TFViewMain
.
WebFormCreate
(
Sender
:
TObject
);
var
userName
:
string
;
el
:
TJSElement
;
begin
userName
:=
JS
.
toString
(
AuthService
.
TokenPayload
.
Properties
[
'user_name'
]);
lblUsername
.
Caption
:=
' '
+
userName
.
ToLower
+
' '
;
el
:=
Document
.
getElementById
(
'view.main.version'
);
if
Assigned
(
el
)
then
TJSHtmlElement
(
el
).
innerText
:=
'v'
+
TDMConnection
.
clientVersion
;
FChildForm
:=
nil
;
FDetailsForm
:=
nil
;
FArchiveForm
:=
nil
;
...
...
webEMIMobile/View.Map.pas
View file @
546299f9
...
...
@@ -37,6 +37,9 @@ type
FPendingFocusCoord
:
TTMSFNCMapsCoordinateRec
;
FPendingFocusZoom
:
Integer
;
FDoFocusZoom
:
Boolean
;
FPendingFocusMarkerData
:
string
;
FPendingWsUnitMapData
:
TJSArray
;
FPendingWsComplaintMapData
:
TJSArray
;
FGeoJsonLoadStep
:
Integer
;
[
async
]
procedure
LoadPointsAsync
(
showBusy
:
Boolean
);
...
...
@@ -307,6 +310,22 @@ begin
Console
.
Log
(
'Complaints XData error: '
+
E
.
ErrorResult
.
ErrorMessage
);
end
;
// A WebSocket snapshot received while the HTTP requests were in flight is
// newer than those responses, so use the latest pushed data for the map.
if
Assigned
(
FPendingWsUnitMapData
)
then
begin
unitsData
:=
FPendingWsUnitMapData
;
FPendingWsUnitMapData
:=
nil
;
FUnitsLoaded
:=
True
;
end
;
if
Assigned
(
FPendingWsComplaintMapData
)
then
begin
complaintsData
:=
FPendingWsComplaintMapData
;
FPendingWsComplaintMapData
:=
nil
;
FComplaintsLoaded
:=
True
;
end
;
// --- Place markers (BeginUpdate wraps both so the map redraws once) ------
lfMap
.
BeginUpdate
;
try
...
...
@@ -553,8 +572,13 @@ end;
procedure
TFViewMap
.
ApplyWsUnitMapData
(
aData
:
TJSArray
);
begin
// Skip if the map is still initialising or an HTTP load is in flight.
if
(
not
Assigned
(
mapFilters
))
or
FLoadingPoints
then
if
FLoadingPoints
then
begin
FPendingWsUnitMapData
:=
aData
;
Exit
;
end
;
if
not
Assigned
(
mapFilters
)
then
Exit
;
lfMap
.
BeginUpdate
;
...
...
@@ -570,7 +594,13 @@ end;
procedure
TFViewMap
.
ApplyWsComplaintMapData
(
aData
:
TJSArray
);
begin
if
(
not
Assigned
(
mapFilters
))
or
FLoadingPoints
then
if
FLoadingPoints
then
begin
FPendingWsComplaintMapData
:=
aData
;
Exit
;
end
;
if
not
Assigned
(
mapFilters
)
then
Exit
;
lfMap
.
BeginUpdate
;
...
...
@@ -641,15 +671,47 @@ begin
end
;
procedure
TFViewMap
.
tmrLocateTimer
(
Sender
:
TObject
);
var
i
:
Integer
;
markerFound
:
Boolean
;
missingTarget
:
string
;
begin
tmrLocate
.
Enabled
:=
False
;
if
not
FDoFocusZoom
then
Exit
;
if
FPendingFocusMarkerData
<>
''
then
begin
markerFound
:=
False
;
for
i
:=
0
to
lfMap
.
Markers
.
Count
-
1
do
if
SameText
(
lfMap
.
Markers
[
i
].
DataString
,
FPendingFocusMarkerData
)
or
StartsText
(
FPendingFocusMarkerData
+
'|'
,
lfMap
.
Markers
[
i
].
DataString
)
then
begin
markerFound
:=
True
;
Break
;
end
;
if
not
markerFound
then
begin
missingTarget
:=
FPendingFocusMarkerData
;
FPendingFocusMarkerData
:=
''
;
FDoFocusZoom
:=
False
;
if
StartsText
(
'unit|'
,
missingTarget
)
then
ShowInformationModal
(
'No Longer Available'
,
'This unit is no longer available on the map.'
)
else
if
StartsText
(
'complaint|'
,
missingTarget
)
then
ShowInformationModal
(
'No Longer Available'
,
'This complaint is no longer active on the map.'
);
Exit
;
end
;
end
;
lfMap
.
SetCenterCoordinate
(
FPendingFocusCoord
);
lfMap
.
SetZoomLevel
(
FPendingFocusZoom
);
FPendingFocusMarkerData
:=
''
;
FDoFocusZoom
:=
False
;
end
;
...
...
@@ -666,6 +728,7 @@ begin
FPendingFocusCoord
:=
coord
;
FPendingFocusZoom
:=
17
;
FDoFocusZoom
:=
True
;
FPendingFocusMarkerData
:=
''
;
tmrLocate
.
Interval
:=
250
;
tmrLocate
.
Enabled
:=
True
;
...
...
@@ -674,6 +737,10 @@ end;
procedure
TFViewMap
.
FocusUnit
(
const
unitId
:
string
);
begin
tmrLocate
.
Enabled
:=
False
;
FDoFocusZoom
:=
False
;
FPendingFocusMarkerData
:=
''
;
FPendingComplaintId
:=
''
;
FPendingUnitId
:=
Trim
(
unitId
);
if
mapFilters
<>
nil
then
LoadPointsAsync
(
True
);
...
...
@@ -682,6 +749,10 @@ end;
procedure
TFViewMap
.
FocusComplaint
(
const
complaintId
:
string
);
begin
tmrLocate
.
Enabled
:=
False
;
FDoFocusZoom
:=
False
;
FPendingFocusMarkerData
:=
''
;
FPendingUnitId
:=
''
;
FPendingComplaintId
:=
Trim
(
complaintId
);
if
mapFilters
<>
nil
then
LoadPointsAsync
(
True
);
...
...
@@ -713,6 +784,7 @@ begin
FPendingFocusCoord
:=
coord
;
FPendingFocusZoom
:=
17
;
FDoFocusZoom
:=
True
;
FPendingFocusMarkerData
:=
targetDs
;
tmrLocate
.
Interval
:=
250
;
tmrLocate
.
Enabled
:=
True
;
...
...
@@ -722,8 +794,15 @@ begin
end
;
end
;
if
found
then
FPendingUnitId
:=
''
;
FPendingUnitId
:=
''
;
if
not
found
then
begin
FPendingFocusMarkerData
:=
''
;
FDoFocusZoom
:=
False
;
ShowInformationModal
(
'No Longer Available'
,
'This unit is no longer available on the map.'
);
end
;
end
;
procedure
TFViewMap
.
ApplyPendingComplaintFocus
;
...
...
@@ -751,6 +830,7 @@ begin
FPendingFocusCoord
:=
coord
;
FPendingFocusZoom
:=
17
;
FDoFocusZoom
:=
True
;
FPendingFocusMarkerData
:=
targetDs
;
tmrLocate
.
Interval
:=
250
;
tmrLocate
.
Enabled
:=
True
;
...
...
@@ -760,8 +840,15 @@ begin
end
;
end
;
if
found
then
FPendingComplaintId
:=
''
;
FPendingComplaintId
:=
''
;
if
not
found
then
begin
FPendingFocusMarkerData
:=
''
;
FDoFocusZoom
:=
False
;
ShowInformationModal
(
'No Longer Available'
,
'This complaint is no longer active on the map.'
);
end
;
end
;
...
...
webEMIMobile/assets/
markers/
Buffalo Markers/agencyassist_1.png
→
webEMIMobile/assets/Buffalo Markers/agencyassist_1.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/agencyassist_2.png
→
webEMIMobile/assets/Buffalo Markers/agencyassist_2.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/agencyassist_3.png
→
webEMIMobile/assets/Buffalo Markers/agencyassist_3.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/agencyassist_4.png
→
webEMIMobile/assets/Buffalo Markers/agencyassist_4.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/agencyassist_5-9.png
→
webEMIMobile/assets/Buffalo Markers/agencyassist_5-9.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/alarm_1.png
→
webEMIMobile/assets/Buffalo Markers/alarm_1.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/alarm_2.png
→
webEMIMobile/assets/Buffalo Markers/alarm_2.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/alarm_3.png
→
webEMIMobile/assets/Buffalo Markers/alarm_3.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/alarm_4.png
→
webEMIMobile/assets/Buffalo Markers/alarm_4.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/alarm_5-9.png
→
webEMIMobile/assets/Buffalo Markers/alarm_5-9.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/assault_1.png
→
webEMIMobile/assets/Buffalo Markers/assault_1.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/assault_2.png
→
webEMIMobile/assets/Buffalo Markers/assault_2.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/assault_3.png
→
webEMIMobile/assets/Buffalo Markers/assault_3.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/assault_4.png
→
webEMIMobile/assets/Buffalo Markers/assault_4.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/assault_5-9.png
→
webEMIMobile/assets/Buffalo Markers/assault_5-9.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/car_A.png
→
webEMIMobile/assets/Buffalo Markers/car_A.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/car_B.png
→
webEMIMobile/assets/Buffalo Markers/car_B.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/car_C.png
→
webEMIMobile/assets/Buffalo Markers/car_C.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/car_D.png
→
webEMIMobile/assets/Buffalo Markers/car_D.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/car_E.png
→
webEMIMobile/assets/Buffalo Markers/car_E.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/car_X.png
→
webEMIMobile/assets/Buffalo Markers/car_X.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/car_default.png
→
webEMIMobile/assets/Buffalo Markers/car_default.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/car_ems.png
→
webEMIMobile/assets/Buffalo Markers/car_ems.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/car_fire.png
→
webEMIMobile/assets/Buffalo Markers/car_fire.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/car_police.png
→
webEMIMobile/assets/Buffalo Markers/car_police.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/caraccident_1.png
→
webEMIMobile/assets/Buffalo Markers/caraccident_1.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/caraccident_2.png
→
webEMIMobile/assets/Buffalo Markers/caraccident_2.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/caraccident_3.png
→
webEMIMobile/assets/Buffalo Markers/caraccident_3.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/caraccident_4.png
→
webEMIMobile/assets/Buffalo Markers/caraccident_4.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/caraccident_5-9.png
→
webEMIMobile/assets/Buffalo Markers/caraccident_5-9.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/caraccident_attached.png
→
webEMIMobile/assets/Buffalo Markers/caraccident_attached.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/deadbody_1.png
→
webEMIMobile/assets/Buffalo Markers/deadbody_1.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/deadbody_2.png
→
webEMIMobile/assets/Buffalo Markers/deadbody_2.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/deadbody_3.png
→
webEMIMobile/assets/Buffalo Markers/deadbody_3.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/deadbody_4.png
→
webEMIMobile/assets/Buffalo Markers/deadbody_4.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/deadbody_5-9.png
→
webEMIMobile/assets/Buffalo Markers/deadbody_5-9.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/default.png
→
webEMIMobile/assets/Buffalo Markers/default.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/default_1.png
→
webEMIMobile/assets/Buffalo Markers/default_1.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/default_2.png
→
webEMIMobile/assets/Buffalo Markers/default_2.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/default_3.png
→
webEMIMobile/assets/Buffalo Markers/default_3.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/default_4.png
→
webEMIMobile/assets/Buffalo Markers/default_4.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/default_5-9.png
→
webEMIMobile/assets/Buffalo Markers/default_5-9.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/default_attached.png
→
webEMIMobile/assets/Buffalo Markers/default_attached.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/default_notattached.png
→
webEMIMobile/assets/Buffalo Markers/default_notattached.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/default_onscene.png
→
webEMIMobile/assets/Buffalo Markers/default_onscene.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/directedpatrol_1.png
→
webEMIMobile/assets/Buffalo Markers/directedpatrol_1.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/directedpatrol_2.png
→
webEMIMobile/assets/Buffalo Markers/directedpatrol_2.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/directedpatrol_3.png
→
webEMIMobile/assets/Buffalo Markers/directedpatrol_3.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/directedpatrol_4.png
→
webEMIMobile/assets/Buffalo Markers/directedpatrol_4.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/directedpatrol_5-9.png
→
webEMIMobile/assets/Buffalo Markers/directedpatrol_5-9.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/fire_1.png
→
webEMIMobile/assets/Buffalo Markers/fire_1.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/fire_2.png
→
webEMIMobile/assets/Buffalo Markers/fire_2.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/fire_3.png
→
webEMIMobile/assets/Buffalo Markers/fire_3.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/fire_4.png
→
webEMIMobile/assets/Buffalo Markers/fire_4.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/fire_5-9.png
→
webEMIMobile/assets/Buffalo Markers/fire_5-9.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/gun_1.png
→
webEMIMobile/assets/Buffalo Markers/gun_1.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/gun_2.png
→
webEMIMobile/assets/Buffalo Markers/gun_2.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/gun_3.png
→
webEMIMobile/assets/Buffalo Markers/gun_3.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/gun_5-9.png
→
webEMIMobile/assets/Buffalo Markers/gun_5-9.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/gun_5.png
→
webEMIMobile/assets/Buffalo Markers/gun_5.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/home_1.png
→
webEMIMobile/assets/Buffalo Markers/home_1.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/home_2.png
→
webEMIMobile/assets/Buffalo Markers/home_2.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/home_3.png
→
webEMIMobile/assets/Buffalo Markers/home_3.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/home_4.png
→
webEMIMobile/assets/Buffalo Markers/home_4.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/home_5-9.png
→
webEMIMobile/assets/Buffalo Markers/home_5-9.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/location_dot.png
→
webEMIMobile/assets/Buffalo Markers/location_dot.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/medical_1.png
→
webEMIMobile/assets/Buffalo Markers/medical_1.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/medical_2.png
→
webEMIMobile/assets/Buffalo Markers/medical_2.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/medical_3.png
→
webEMIMobile/assets/Buffalo Markers/medical_3.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/medical_4.png
→
webEMIMobile/assets/Buffalo Markers/medical_4.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/medical_5-9.png
→
webEMIMobile/assets/Buffalo Markers/medical_5-9.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/missingperson_1.png
→
webEMIMobile/assets/Buffalo Markers/missingperson_1.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/missingperson_2.png
→
webEMIMobile/assets/Buffalo Markers/missingperson_2.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/missingperson_3.png
→
webEMIMobile/assets/Buffalo Markers/missingperson_3.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/missingperson_4.png
→
webEMIMobile/assets/Buffalo Markers/missingperson_4.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/missingperson_5-9.png
→
webEMIMobile/assets/Buffalo Markers/missingperson_5-9.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/narcotics_1.png
→
webEMIMobile/assets/Buffalo Markers/narcotics_1.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/narcotics_2.png
→
webEMIMobile/assets/Buffalo Markers/narcotics_2.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/narcotics_3.png
→
webEMIMobile/assets/Buffalo Markers/narcotics_3.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/narcotics_4.png
→
webEMIMobile/assets/Buffalo Markers/narcotics_4.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/narcotics_5-9.png
→
webEMIMobile/assets/Buffalo Markers/narcotics_5-9.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/noise_1.png
→
webEMIMobile/assets/Buffalo Markers/noise_1.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/noise_2.png
→
webEMIMobile/assets/Buffalo Markers/noise_2.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/noise_3.png
→
webEMIMobile/assets/Buffalo Markers/noise_3.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/noise_4.png
→
webEMIMobile/assets/Buffalo Markers/noise_4.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/noise_5-9.png
→
webEMIMobile/assets/Buffalo Markers/noise_5-9.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/robbery_1.png
→
webEMIMobile/assets/Buffalo Markers/robbery_1.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/robbery_2.png
→
webEMIMobile/assets/Buffalo Markers/robbery_2.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/robbery_3.png
→
webEMIMobile/assets/Buffalo Markers/robbery_3.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/robbery_4.png
→
webEMIMobile/assets/Buffalo Markers/robbery_4.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/robbery_5-9.png
→
webEMIMobile/assets/Buffalo Markers/robbery_5-9.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/school_1.png
→
webEMIMobile/assets/Buffalo Markers/school_1.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/school_2.png
→
webEMIMobile/assets/Buffalo Markers/school_2.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/school_3.png
→
webEMIMobile/assets/Buffalo Markers/school_3.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/school_4.png
→
webEMIMobile/assets/Buffalo Markers/school_4.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/school_5-9.png
→
webEMIMobile/assets/Buffalo Markers/school_5-9.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/suspicious_1.png
→
webEMIMobile/assets/Buffalo Markers/suspicious_1.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/suspicious_2.png
→
webEMIMobile/assets/Buffalo Markers/suspicious_2.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/suspicious_3.png
→
webEMIMobile/assets/Buffalo Markers/suspicious_3.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/suspicious_4.png
→
webEMIMobile/assets/Buffalo Markers/suspicious_4.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/suspicious_5-9.png
→
webEMIMobile/assets/Buffalo Markers/suspicious_5-9.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/traffic_1.png
→
webEMIMobile/assets/Buffalo Markers/traffic_1.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/traffic_2.png
→
webEMIMobile/assets/Buffalo Markers/traffic_2.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/traffic_3.png
→
webEMIMobile/assets/Buffalo Markers/traffic_3.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/traffic_4.png
→
webEMIMobile/assets/Buffalo Markers/traffic_4.png
View file @
546299f9
File moved
webEMIMobile/assets/
markers/
Buffalo Markers/traffic_5-9.png
→
webEMIMobile/assets/Buffalo Markers/traffic_5-9.png
View file @
546299f9
File moved
webEMIMobile/index.html
View file @
546299f9
...
...
@@ -20,7 +20,7 @@
<link
crossorigin=
"anonymous"
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.7/dist/css/bootstrap.min.css"
rel=
"stylesheet"
/>
<!-- App -->
<script
src=
"w
eb
EmiMobile.js"
type=
"text/javascript"
></script>
<script
src=
"w
c
EmiMobile.js"
type=
"text/javascript"
></script>
<!-- App styles -->
<style></style>
...
...
@@ -62,3 +62,4 @@ if(isIOSUA){
webEMIMobile/w
eb
EmiMobile.dpr
→
webEMIMobile/w
c
EmiMobile.dpr
View file @
546299f9
program webEmiMobile;
program wcEmiMobile;
...
...
@@ -66,40 +68,10 @@ end;
procedure StartApplication;
begin
DMConnection.SetClientConfig(
procedure(Success: Boolean; ErrorMessage: string)
begin
if Success then
begin
if (not AuthService.Authenticated) or AuthService.TokenExpired then
DisplayLoginView
else
DisplayMainView;
end
else
begin
asm
var dlg = document.createElement("dialog");
dlg.classList.add("shadow", "rounded", "border", "p-4");
dlg.style.maxWidth = "500px";
dlg.style.width = "90%";
dlg.style.fontFamily = "system-ui, sans-serif";
dlg.innerHTML =
"<h5 class='fw-bold mb-3 text-danger'>emiMobile</h5>" +
"<p class='mb-3' style='white-space: pre-wrap;'>" + ErrorMessage + "</p>" +
"<div class='text-end'>" +
"<button id='refreshBtn' class='btn btn-primary'>Reload</button></div>";
document.body.appendChild(dlg);
dlg.showModal();
document.getElementById("refreshBtn").addEventListener("click", function () {
location.reload(true); // Hard refresh
});
end;
end;
end);
if (not AuthService.Authenticated) or AuthService.TokenExpired then
DisplayLoginView
else
DisplayMainView;
end;
...
...
webEMIMobile/w
eb
EmiMobile.dproj
→
webEMIMobile/w
c
EmiMobile.dproj
View file @
546299f9
...
...
@@ -3,13 +3,13 @@
<ProjectGuid>{DB6F5DBF-7E4B-45DA-AFFA-6C8DF15BA740}</ProjectGuid>
<ProjectVersion>20.4</ProjectVersion>
<FrameworkType>VCL</FrameworkType>
<MainSource>w
eb
EmiMobile.dpr</MainSource>
<MainSource>w
c
EmiMobile.dpr</MainSource>
<Base>True</Base>
<Config Condition="'$(Config)'==''">Debug</Config>
<Platform Condition="'$(Platform)'==''">Win32</Platform>
<TargetedPlatforms>1</TargetedPlatforms>
<AppType>Application</AppType>
<ProjectName Condition="'$(ProjectName)'==''">w
eb
EmiMobile</ProjectName>
<ProjectName Condition="'$(ProjectName)'==''">w
c
EmiMobile</ProjectName>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
<Base>true</Base>
...
...
@@ -58,7 +58,7 @@
<DCC_Namespace>System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace)</DCC_Namespace>
<Icon_MainIcon>$(BDS)\bin\delphi_PROJECTICON.ico</Icon_MainIcon>
<Icns_MainIcns>$(BDS)\bin\delphi_PROJECTICNS.icns</Icns_MainIcns>
<SanitizedProjectName>w
eb
EmiMobile</SanitizedProjectName>
<SanitizedProjectName>w
c
EmiMobile</SanitizedProjectName>
<VerInfo_Locale>1046</VerInfo_Locale>
<TMSWebProject>2</TMSWebProject>
<VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.802;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=;LastCompiledTime=2018/07/25 12:57:53</VerInfo_Keys>
...
...
@@ -91,15 +91,16 @@
<DCC_RemoteDebug>false</DCC_RemoteDebug>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<VerInfo_Locale>1033</VerInfo_Locale>
<VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=0.9.4.
0
;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=0.9.3.0;Comments=;LastCompiledTime=2018/08/27 15:18:29</VerInfo_Keys>
<VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=0.9.4.
1
;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=0.9.3.0;Comments=;LastCompiledTime=2018/08/27 15:18:29</VerInfo_Keys>
<AppDPIAwarenessMode>PerMonitor</AppDPIAwarenessMode>
<VerInfo_MinorVer>9</VerInfo_MinorVer>
<VerInfo_MajorVer>0</VerInfo_MajorVer>
<VerInfo_Release>4</VerInfo_Release>
<TMSWebSingleInstance>1</TMSWebSingleInstance>
<VerInfo_Build>1</VerInfo_Build>
<TMSWebBrowser>1</TMSWebBrowser>
<TMSUseJSDebugger>2</TMSUseJSDebugger>
<TMSWebOutputPath>..\emiMobileServer\bin\static</TMSWebOutputPath>
<TMS
WebSingleInstance>1</TMSWebSingleInstance
>
<TMS
UseJSDebugger>2</TMSUseJSDebugger
>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2)'!=''">
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
...
...
@@ -207,659 +208,659 @@
<None Include="assets\bpddistricts-updated.geojson"/>
<RcItem Include="assets\markers\agencyassist_attached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_1</ResourceId>
<ResourceId>PngImage_1
07
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\agencyassist_notattached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
2
</ResourceId>
<ResourceId>PngImage_
108
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\agencyassist_onscene.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
3
</ResourceId>
<ResourceId>PngImage_
109
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\alarm_attached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
4
</ResourceId>
<ResourceId>PngImage_
110
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\alarm_notattached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
5
</ResourceId>
<ResourceId>PngImage_
111
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\alarm_onscene.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
6
</ResourceId>
<ResourceId>PngImage_
112
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\assault_attached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
7
</ResourceId>
<ResourceId>PngImage_
113
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\assault_notattached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
8
</ResourceId>
<ResourceId>PngImage_
114
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\assault_onscene.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
9
</ResourceId>
<ResourceId>PngImage_
115
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\agencyassist_1.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_1
0
</ResourceId>
<ResourceId>PngImage_1
16
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\agencyassist_2.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_11</ResourceId>
<ResourceId>PngImage_11
7
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\agencyassist_3.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_1
2
</ResourceId>
<ResourceId>PngImage_1
18
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\agencyassist_4.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_1
3
</ResourceId>
<ResourceId>PngImage_1
19
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\agencyassist_5-9.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_1
4
</ResourceId>
<ResourceId>PngImage_1
20
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\alarm_1.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_1
5
</ResourceId>
<ResourceId>PngImage_1
21
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\alarm_2.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_1
6
</ResourceId>
<ResourceId>PngImage_1
22
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\alarm_3.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_1
7
</ResourceId>
<ResourceId>PngImage_1
23
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\alarm_4.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_1
8
</ResourceId>
<ResourceId>PngImage_1
24
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\alarm_5-9.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_1
9
</ResourceId>
<ResourceId>PngImage_1
25
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\assault_1.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
20
</ResourceId>
<ResourceId>PngImage_
126
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\assault_2.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
21
</ResourceId>
<ResourceId>PngImage_
127
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\assault_3.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
22
</ResourceId>
<ResourceId>PngImage_
128
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\assault_4.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
23
</ResourceId>
<ResourceId>PngImage_
129
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\assault_5-9.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
24
</ResourceId>
<ResourceId>PngImage_
130
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\caraccident_1.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
25
</ResourceId>
<ResourceId>PngImage_
131
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\caraccident_2.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
26
</ResourceId>
<ResourceId>PngImage_
132
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\caraccident_3.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
27
</ResourceId>
<ResourceId>PngImage_
133
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\caraccident_4.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
28
</ResourceId>
<ResourceId>PngImage_
134
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\caraccident_5-9.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
29
</ResourceId>
<ResourceId>PngImage_
135
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\caraccident_attached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
30
</ResourceId>
<ResourceId>PngImage_
136
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\car_A.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
31
</ResourceId>
<ResourceId>PngImage_
137
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\car_B.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
32
</ResourceId>
<ResourceId>PngImage_
138
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\car_C.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
33
</ResourceId>
<ResourceId>PngImage_
139
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\car_D.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
34
</ResourceId>
<ResourceId>PngImage_
140
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\car_default.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
35
</ResourceId>
<ResourceId>PngImage_
141
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\car_E.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
36
</ResourceId>
<ResourceId>PngImage_
142
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\car_ems.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
37
</ResourceId>
<ResourceId>PngImage_
143
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\car_fire.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
38
</ResourceId>
<ResourceId>PngImage_
144
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\car_police.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
39
</ResourceId>
<ResourceId>PngImage_
145
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\car_X.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
40
</ResourceId>
<ResourceId>PngImage_
146
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\deadbody_1.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
41
</ResourceId>
<ResourceId>PngImage_
147
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\deadbody_2.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
42
</ResourceId>
<ResourceId>PngImage_
148
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\deadbody_3.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
43
</ResourceId>
<ResourceId>PngImage_
149
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\deadbody_4.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
44
</ResourceId>
<ResourceId>PngImage_
150
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\deadbody_5-9.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
45
</ResourceId>
<ResourceId>PngImage_
151
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\default.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
46
</ResourceId>
<ResourceId>PngImage_
152
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\default_1.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
47
</ResourceId>
<ResourceId>PngImage_
153
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\default_2.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
48
</ResourceId>
<ResourceId>PngImage_
154
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\default_3.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
49
</ResourceId>
<ResourceId>PngImage_
155
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\default_4.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
50
</ResourceId>
<ResourceId>PngImage_
156
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\default_5-9.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
51
</ResourceId>
<ResourceId>PngImage_
157
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\default_attached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
52
</ResourceId>
<ResourceId>PngImage_
158
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\default_notattached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
53
</ResourceId>
<ResourceId>PngImage_
159
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\default_onscene.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
54
</ResourceId>
<ResourceId>PngImage_
160
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\directedpatrol_1.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
55
</ResourceId>
<ResourceId>PngImage_
161
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\directedpatrol_2.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
56
</ResourceId>
<ResourceId>PngImage_
162
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\directedpatrol_3.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
57
</ResourceId>
<ResourceId>PngImage_
163
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\directedpatrol_4.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
58
</ResourceId>
<ResourceId>PngImage_
164
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\directedpatrol_5-9.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
59
</ResourceId>
<ResourceId>PngImage_
165
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\fire_1.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
60
</ResourceId>
<ResourceId>PngImage_
166
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\fire_2.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
61
</ResourceId>
<ResourceId>PngImage_
167
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\fire_3.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
62
</ResourceId>
<ResourceId>PngImage_
168
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\fire_4.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
63
</ResourceId>
<ResourceId>PngImage_
169
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\fire_5-9.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
64
</ResourceId>
<ResourceId>PngImage_
170
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\gun_1.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
65
</ResourceId>
<ResourceId>PngImage_
171
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\gun_2.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
66
</ResourceId>
<ResourceId>PngImage_
172
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\gun_3.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
67
</ResourceId>
<ResourceId>PngImage_
173
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\gun_5-9.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
68
</ResourceId>
<ResourceId>PngImage_
174
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\gun_5.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
69
</ResourceId>
<ResourceId>PngImage_
175
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\home_1.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
70
</ResourceId>
<ResourceId>PngImage_
176
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\home_2.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
71
</ResourceId>
<ResourceId>PngImage_
177
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\home_3.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
72
</ResourceId>
<ResourceId>PngImage_
178
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\home_4.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
73
</ResourceId>
<ResourceId>PngImage_
179
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\home_5-9.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
74
</ResourceId>
<ResourceId>PngImage_
180
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\location_dot.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
75
</ResourceId>
<ResourceId>PngImage_
181
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\medical_1.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
76
</ResourceId>
<ResourceId>PngImage_
182
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\medical_2.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
77
</ResourceId>
<ResourceId>PngImage_
183
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\medical_3.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
78
</ResourceId>
<ResourceId>PngImage_
184
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\medical_4.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
79
</ResourceId>
<ResourceId>PngImage_
185
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\medical_5-9.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
80
</ResourceId>
<ResourceId>PngImage_
186
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\missingperson_1.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
81
</ResourceId>
<ResourceId>PngImage_
187
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\missingperson_2.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
82
</ResourceId>
<ResourceId>PngImage_
188
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\missingperson_3.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
83
</ResourceId>
<ResourceId>PngImage_
189
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\missingperson_4.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
84
</ResourceId>
<ResourceId>PngImage_
190
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\missingperson_5-9.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
85
</ResourceId>
<ResourceId>PngImage_
191
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\narcotics_1.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
86
</ResourceId>
<ResourceId>PngImage_
192
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\narcotics_2.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
87
</ResourceId>
<ResourceId>PngImage_
193
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\narcotics_3.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
88
</ResourceId>
<ResourceId>PngImage_
194
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\narcotics_4.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
89
</ResourceId>
<ResourceId>PngImage_
195
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\narcotics_5-9.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
90
</ResourceId>
<ResourceId>PngImage_
196
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\noise_1.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
91
</ResourceId>
<ResourceId>PngImage_
197
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\noise_2.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
92
</ResourceId>
<ResourceId>PngImage_
198
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\noise_3.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
93
</ResourceId>
<ResourceId>PngImage_
199
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\noise_4.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
94
</ResourceId>
<ResourceId>PngImage_
200
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\noise_5-9.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
95
</ResourceId>
<ResourceId>PngImage_
201
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\robbery_1.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
96
</ResourceId>
<ResourceId>PngImage_
202
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\robbery_2.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
97
</ResourceId>
<ResourceId>PngImage_
203
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\robbery_3.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
98
</ResourceId>
<ResourceId>PngImage_
204
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\robbery_4.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
99
</ResourceId>
<ResourceId>PngImage_
205
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\robbery_5-9.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
100
</ResourceId>
<ResourceId>PngImage_
206
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\school_1.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
101
</ResourceId>
<ResourceId>PngImage_
207
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\school_2.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
102
</ResourceId>
<ResourceId>PngImage_
208
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\school_3.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
103
</ResourceId>
<ResourceId>PngImage_
209
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\school_4.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
104
</ResourceId>
<ResourceId>PngImage_
210
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\school_5-9.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
105
</ResourceId>
<ResourceId>PngImage_
211
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\suspicious_1.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
106
</ResourceId>
<ResourceId>PngImage_
212
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\suspicious_2.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
107
</ResourceId>
<ResourceId>PngImage_
213
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\suspicious_3.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
108
</ResourceId>
<ResourceId>PngImage_
214
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\suspicious_4.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
109
</ResourceId>
<ResourceId>PngImage_
215
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\suspicious_5-9.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
110
</ResourceId>
<ResourceId>PngImage_
216
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\traffic_1.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
111
</ResourceId>
<ResourceId>PngImage_
217
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\traffic_2.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
112
</ResourceId>
<ResourceId>PngImage_
218
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\traffic_3.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
113
</ResourceId>
<ResourceId>PngImage_
219
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\traffic_4.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
114
</ResourceId>
<ResourceId>PngImage_
220
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\Buffalo Markers\traffic_5-9.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
115
</ResourceId>
<ResourceId>PngImage_
221
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\caraccident_attached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
116
</ResourceId>
<ResourceId>PngImage_
222
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\caraccident_notattached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
117
</ResourceId>
<ResourceId>PngImage_
223
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\caraccident_onscene.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
118
</ResourceId>
<ResourceId>PngImage_
224
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\car_default.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
119
</ResourceId>
<ResourceId>PngImage_
225
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\car_ems.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
120
</ResourceId>
<ResourceId>PngImage_
226
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\car_fire.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
121
</ResourceId>
<ResourceId>PngImage_
227
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\car_police.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
122
</ResourceId>
<ResourceId>PngImage_
228
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\car_X.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
123
</ResourceId>
<ResourceId>PngImage_
229
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\deadbody_attached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
124
</ResourceId>
<ResourceId>PngImage_
230
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\deadbody_notattached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
125
</ResourceId>
<ResourceId>PngImage_
231
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\deadbody_onscene.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
126
</ResourceId>
<ResourceId>PngImage_
232
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\default.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
127
</ResourceId>
<ResourceId>PngImage_
233
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\default_attached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
128
</ResourceId>
<ResourceId>PngImage_
234
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\default_notattached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
129
</ResourceId>
<ResourceId>PngImage_
235
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\default_onscene.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
130
</ResourceId>
<ResourceId>PngImage_
236
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\directedpatrol_attached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
131
</ResourceId>
<ResourceId>PngImage_
237
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\directedpatrol_notattached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
132
</ResourceId>
<ResourceId>PngImage_
238
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\directedpatrol_onscene.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
133
</ResourceId>
<ResourceId>PngImage_
239
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\fire_attached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
134
</ResourceId>
<ResourceId>PngImage_
240
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\fire_notattached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
135
</ResourceId>
<ResourceId>PngImage_
241
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\fire_onscene.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
136
</ResourceId>
<ResourceId>PngImage_
242
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\gun_attached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
137
</ResourceId>
<ResourceId>PngImage_
243
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\gun_notattached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
138
</ResourceId>
<ResourceId>PngImage_
244
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\gun_onscene.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
139
</ResourceId>
<ResourceId>PngImage_
245
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\location_dot.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
140
</ResourceId>
<ResourceId>PngImage_
246
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\medical_attached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
141
</ResourceId>
<ResourceId>PngImage_
247
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\medical_notattached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
142
</ResourceId>
<ResourceId>PngImage_
248
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\medical_onscene.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
143
</ResourceId>
<ResourceId>PngImage_
249
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\missingperson_attached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
144
</ResourceId>
<ResourceId>PngImage_
250
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\missingperson_notattached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
145
</ResourceId>
<ResourceId>PngImage_
251
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\missingperson_onscene.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
146
</ResourceId>
<ResourceId>PngImage_
252
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\narcotics_attached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
147
</ResourceId>
<ResourceId>PngImage_
253
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\narcotics_notattached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
148
</ResourceId>
<ResourceId>PngImage_
254
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\narcotics_onscene.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
149
</ResourceId>
<ResourceId>PngImage_
255
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\noise_attached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
150
</ResourceId>
<ResourceId>PngImage_
256
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\noise_notattached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
151
</ResourceId>
<ResourceId>PngImage_
257
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\noise_onscene.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
152
</ResourceId>
<ResourceId>PngImage_
258
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\robbery_attached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
153
</ResourceId>
<ResourceId>PngImage_
259
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\robbery_notattached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
154
</ResourceId>
<ResourceId>PngImage_
260
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\robbery_onscene.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
155
</ResourceId>
<ResourceId>PngImage_
261
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\school_attached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
156
</ResourceId>
<ResourceId>PngImage_
262
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\school_notattached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
157
</ResourceId>
<ResourceId>PngImage_
263
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\school_onscene.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
158
</ResourceId>
<ResourceId>PngImage_
264
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\suspicious_attached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
159
</ResourceId>
<ResourceId>PngImage_
265
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\suspicious_notattached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
160
</ResourceId>
<ResourceId>PngImage_
266
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\suspicious_onscene.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
161
</ResourceId>
<ResourceId>PngImage_
267
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\traffic_attached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
162
</ResourceId>
<ResourceId>PngImage_
268
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\traffic_notattached.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
163
</ResourceId>
<ResourceId>PngImage_
269
</ResourceId>
</RcItem>
<RcItem Include="assets\markers\traffic_onscene.png">
<ResourceType>RCDATA</ResourceType>
<ResourceId>PngImage_
164
</ResourceId>
<ResourceId>PngImage_
270
</ResourceId>
</RcItem>
<None Include="assets\orleanscounty.geojson"/>
<None Include="assets\wyomingtowns.geojson"/>
...
...
@@ -882,7 +883,7 @@
<BorlandProject>
<Delphi.Personality>
<Source>
<Source Name="MainSource">w
eb
EmiMobile.dpr</Source>
<Source Name="MainSource">w
c
EmiMobile.dpr</Source>
</Source>
<Excluded_Packages>
<Excluded_Packages Name="$(BDSBIN)\bcboffice2k370.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages>
...
...
@@ -956,13 +957,13 @@
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployFile LocalName="Win32\Debug\webCharms.exe" Configuration="Debug" Class="ProjectOutput"/>
<DeployFile LocalName="Win32\Debug\webEmiMobile.exe" Configuration="Debug" Class="ProjectOutput">
<DeployFile LocalName="Win32\Debug\wcEmiMobile.exe" Configuration="Debug" Class="ProjectOutput">
<Platform Name="Win32">
<RemoteName>w
eb
EmiMobile.exe</RemoteName>
<RemoteName>w
c
EmiMobile.exe</RemoteName>
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployFile LocalName="Win32\Debug\webCharms.exe" Configuration="Debug" Class="ProjectOutput"/>
<DeployFile LocalName="Win32\Debug\webEnvoyCalls.exe" Configuration="Debug" Class="ProjectOutput"/>
<DeployFile LocalName="assets\bpddistricts-updated.geojson" Configuration="Debug" Class="ProjectFile">
<Platform Name="Win32">
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment