-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathcloudcv.m
75 lines (56 loc) · 2.25 KB
/
cloudcv.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
classdef cloudcv < handle
%Class for connecting to CloudCV
properties
params;
upload_obj;
socket_obj;
end
methods(Access = private)
function obj = startUpload(obj)
obj.upload_obj=javaObject('UploadData', obj.params);
t = javaObject('java.lang.Thread', obj.upload_obj);
javaMethod('start', t);
end
end
methods
function obj = cloudcv()
obj.params=NaN;
obj.upload_obj=NaN;
end
function obj = init(obj, configFile, imageDir, resultDir, execName)
if ~exist('imageDir','var') || isempty(imageDir)
imageDir = '';
end
if ~exist('resultDir','var') || isempty(resultDir)
resultDir = '';
end
if ~exist('execName','var') || isempty(execName)
execName = '';
end
obj.params = javaObject('ConfigParser',configFile);
javaMethod('readConfigFile', obj.params);
val = javaMethod('parseArguments', obj.params, imageDir, resultDir, execName);
if(val==1)
javaMethod('getParams',obj.params);
end
end
function obj = disconnect(obj)
if(strcmp(class(obj.socket_obj),'SocketConnection'))
javaMethod('socket_disconnect',obj.socket_obj);
disp('Disconnecting Redis Server for Socket Connection');
end
end
function obj = run(obj)
obj = startUpload(obj);
if(~strcmp(class(obj.socket_obj),'SocketConnection'))
disp('Socket Server created');
obj.socket_obj = javaObject('SocketConnection', obj.params.executable_name, obj.params.output_path);
javaMethod('socketIOConnection',obj.socket_obj);
else
disp('Socket Connection is already established');
javaMethod('updateParameters',obj.socket_obj, obj.params.executable_name, obj.params.output_path);
javaMethod('socketIOConnection', obj.socket_obj);
end
end
end
end