kaltura-ruby-client 1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +7 -0
  2. data/README +20 -0
  3. data/Rakefile +19 -0
  4. data/agpl.txt +674 -0
  5. data/kaltura.yml +7 -0
  6. data/lib/kaltura.rb +31 -0
  7. data/lib/kaltura_client.rb +14450 -0
  8. data/lib/kaltura_client_base.rb +432 -0
  9. data/lib/kaltura_plugins/kaltura_abc_screeners_watermark_access_control_client_plugin.rb +37 -0
  10. data/lib/kaltura_plugins/kaltura_ad_cue_point_client_plugin.rb +108 -0
  11. data/lib/kaltura_plugins/kaltura_annotation_client_plugin.rb +237 -0
  12. data/lib/kaltura_plugins/kaltura_aspera_client_plugin.rb +61 -0
  13. data/lib/kaltura_plugins/kaltura_attachment_client_plugin.rb +227 -0
  14. data/lib/kaltura_plugins/kaltura_audit_client_plugin.rb +349 -0
  15. data/lib/kaltura_plugins/kaltura_bulk_upload_client_plugin.rb +109 -0
  16. data/lib/kaltura_plugins/kaltura_bulk_upload_csv_client_plugin.rb +55 -0
  17. data/lib/kaltura_plugins/kaltura_bulk_upload_filter_client_plugin.rb +46 -0
  18. data/lib/kaltura_plugins/kaltura_bulk_upload_xml_client_plugin.rb +40 -0
  19. data/lib/kaltura_plugins/kaltura_caption_client_plugin.rb +406 -0
  20. data/lib/kaltura_plugins/kaltura_caption_search_client_plugin.rb +138 -0
  21. data/lib/kaltura_plugins/kaltura_code_cue_point_client_plugin.rb +97 -0
  22. data/lib/kaltura_plugins/kaltura_content_distribution_client_plugin.rb +1717 -0
  23. data/lib/kaltura_plugins/kaltura_cue_point_client_plugin.rb +290 -0
  24. data/lib/kaltura_plugins/kaltura_document_client_plugin.rb +522 -0
  25. data/lib/kaltura_plugins/kaltura_drm_client_plugin.rb +204 -0
  26. data/lib/kaltura_plugins/kaltura_drop_folder_client_plugin.rb +810 -0
  27. data/lib/kaltura_plugins/kaltura_drop_folder_xml_bulk_upload_client_plugin.rb +39 -0
  28. data/lib/kaltura_plugins/kaltura_email_notification_client_plugin.rb +276 -0
  29. data/lib/kaltura_plugins/kaltura_event_notification_client_plugin.rb +405 -0
  30. data/lib/kaltura_plugins/kaltura_external_media_client_plugin.rb +203 -0
  31. data/lib/kaltura_plugins/kaltura_file_sync_client_plugin.rb +151 -0
  32. data/lib/kaltura_plugins/kaltura_http_notification_client_plugin.rb +309 -0
  33. data/lib/kaltura_plugins/kaltura_kontiki_client_plugin.rb +72 -0
  34. data/lib/kaltura_plugins/kaltura_like_client_plugin.rb +82 -0
  35. data/lib/kaltura_plugins/kaltura_metadata_client_plugin.rb +788 -0
  36. data/lib/kaltura_plugins/kaltura_multi_centers_client_plugin.rb +45 -0
  37. data/lib/kaltura_plugins/kaltura_short_link_client_plugin.rb +231 -0
  38. data/lib/kaltura_plugins/kaltura_tag_search_client_plugin.rb +145 -0
  39. data/lib/kaltura_plugins/kaltura_var_console_client_plugin.rb +238 -0
  40. data/lib/kaltura_plugins/kaltura_velocix_client_plugin.rb +40 -0
  41. data/lib/kaltura_plugins/kaltura_virus_scan_client_plugin.rb +263 -0
  42. data/lib/kaltura_plugins/kaltura_webex_drop_folder_client_plugin.rb +121 -0
  43. data/lib/kaltura_plugins/kaltura_widevine_client_plugin.rb +195 -0
  44. data/license.txt +674 -0
  45. data/test/access_control_service_test.rb +75 -0
  46. data/test/base_entry_service_test.rb +267 -0
  47. data/test/configuration_test.rb +178 -0
  48. data/test/cue_point_service_test.rb +67 -0
  49. data/test/data_service_test.rb +76 -0
  50. data/test/document_service_test.rb +41 -0
  51. data/test/media/test.mov +0 -0
  52. data/test/media/test.pdf +0 -0
  53. data/test/media/test.png +0 -0
  54. data/test/media/test.swf +0 -0
  55. data/test/media/test.wmv +0 -0
  56. data/test/media_service_test.rb +294 -0
  57. data/test/metadata_profile_service_test.rb +63 -0
  58. data/test/test_helper.rb +59 -0
  59. metadata +127 -0
@@ -0,0 +1,40 @@
1
+ # ===================================================================================================
2
+ # _ __ _ _
3
+ # | |/ /__ _| | |_ _ _ _ _ __ _
4
+ # | ' </ _` | | _| || | '_/ _` |
5
+ # |_|\_\__,_|_|\__|\_,_|_| \__,_|
6
+ #
7
+ # This file is part of the Kaltura Collaborative Media Suite which allows users
8
+ # to do with audio, video, and animation what Wiki platfroms allow them to do with
9
+ # text.
10
+ #
11
+ # Copyright (C) 2006-2011 Kaltura Inc.
12
+ #
13
+ # This program is free software: you can redistribute it and/or modify
14
+ # it under the terms of the GNU Affero General Public License as
15
+ # published by the Free Software Foundation, either version 3 of the
16
+ # License, or (at your option) any later version.
17
+ #
18
+ # This program is distributed in the hope that it will be useful,
19
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
+ # GNU Affero General Public License for more details.
22
+ #
23
+ # You should have received a copy of the GNU Affero General Public License
24
+ # along with this program. If not, see <http:#www.gnu.org/licenses/>.
25
+ #
26
+ # @ignore
27
+ # ===================================================================================================
28
+ require 'kaltura_client.rb'
29
+
30
+ module Kaltura
31
+
32
+ class KalturaVelocixProvisionJobData < KalturaProvisionJobData
33
+ attr_accessor :provisioning_params
34
+ attr_accessor :user_name
35
+ attr_accessor :password
36
+
37
+ end
38
+
39
+
40
+ end
@@ -0,0 +1,263 @@
1
+ # ===================================================================================================
2
+ # _ __ _ _
3
+ # | |/ /__ _| | |_ _ _ _ _ __ _
4
+ # | ' </ _` | | _| || | '_/ _` |
5
+ # |_|\_\__,_|_|\__|\_,_|_| \__,_|
6
+ #
7
+ # This file is part of the Kaltura Collaborative Media Suite which allows users
8
+ # to do with audio, video, and animation what Wiki platfroms allow them to do with
9
+ # text.
10
+ #
11
+ # Copyright (C) 2006-2011 Kaltura Inc.
12
+ #
13
+ # This program is free software: you can redistribute it and/or modify
14
+ # it under the terms of the GNU Affero General Public License as
15
+ # published by the Free Software Foundation, either version 3 of the
16
+ # License, or (at your option) any later version.
17
+ #
18
+ # This program is distributed in the hope that it will be useful,
19
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
+ # GNU Affero General Public License for more details.
22
+ #
23
+ # You should have received a copy of the GNU Affero General Public License
24
+ # along with this program. If not, see <http:#www.gnu.org/licenses/>.
25
+ #
26
+ # @ignore
27
+ # ===================================================================================================
28
+ require 'kaltura_client.rb'
29
+
30
+ module Kaltura
31
+
32
+ class KalturaVirusFoundAction
33
+ NONE = 0
34
+ DELETE = 1
35
+ CLEAN_NONE = 2
36
+ CLEAN_DELETE = 3
37
+ end
38
+
39
+ class KalturaVirusScanJobResult
40
+ SCAN_ERROR = 1
41
+ FILE_IS_CLEAN = 2
42
+ FILE_WAS_CLEANED = 3
43
+ FILE_INFECTED = 4
44
+ end
45
+
46
+ class KalturaVirusScanProfileStatus
47
+ DISABLED = 1
48
+ ENABLED = 2
49
+ DELETED = 3
50
+ end
51
+
52
+ class KalturaVirusScanEngineType
53
+ CLAMAV_SCAN_ENGINE = "clamAVScanEngine.ClamAV"
54
+ SYMANTEC_SCAN_DIRECT_ENGINE = "symantecScanEngine.SymantecScanDirectEngine"
55
+ SYMANTEC_SCAN_ENGINE = "symantecScanEngine.SymantecScanEngine"
56
+ SYMANTEC_SCAN_JAVA_ENGINE = "symantecScanEngine.SymantecScanJavaEngine"
57
+ end
58
+
59
+ class KalturaVirusScanProfileOrderBy
60
+ CREATED_AT_ASC = "+createdAt"
61
+ UPDATED_AT_ASC = "+updatedAt"
62
+ CREATED_AT_DESC = "-createdAt"
63
+ UPDATED_AT_DESC = "-updatedAt"
64
+ end
65
+
66
+ class KalturaVirusScanProfile < KalturaObjectBase
67
+ attr_accessor :id
68
+ attr_accessor :created_at
69
+ attr_accessor :updated_at
70
+ attr_accessor :partner_id
71
+ attr_accessor :name
72
+ attr_accessor :status
73
+ attr_accessor :engine_type
74
+ attr_accessor :entry_filter
75
+ attr_accessor :action_if_infected
76
+
77
+ def id=(val)
78
+ @id = val.to_i
79
+ end
80
+ def created_at=(val)
81
+ @created_at = val.to_i
82
+ end
83
+ def updated_at=(val)
84
+ @updated_at = val.to_i
85
+ end
86
+ def partner_id=(val)
87
+ @partner_id = val.to_i
88
+ end
89
+ def status=(val)
90
+ @status = val.to_i
91
+ end
92
+ def action_if_infected=(val)
93
+ @action_if_infected = val.to_i
94
+ end
95
+ end
96
+
97
+ class KalturaVirusScanProfileListResponse < KalturaObjectBase
98
+ attr_accessor :objects
99
+ attr_accessor :total_count
100
+
101
+ def total_count=(val)
102
+ @total_count = val.to_i
103
+ end
104
+ end
105
+
106
+ class KalturaParseCaptionAssetJobData < KalturaJobData
107
+ attr_accessor :caption_asset_id
108
+
109
+ end
110
+
111
+ class KalturaVirusScanJobData < KalturaJobData
112
+ attr_accessor :src_file_path
113
+ attr_accessor :flavor_asset_id
114
+ attr_accessor :scan_result
115
+ attr_accessor :virus_found_action
116
+
117
+ def scan_result=(val)
118
+ @scan_result = val.to_i
119
+ end
120
+ def virus_found_action=(val)
121
+ @virus_found_action = val.to_i
122
+ end
123
+ end
124
+
125
+ class KalturaVirusScanProfileBaseFilter < KalturaFilter
126
+ attr_accessor :id_equal
127
+ attr_accessor :id_in
128
+ attr_accessor :created_at_greater_than_or_equal
129
+ attr_accessor :created_at_less_than_or_equal
130
+ attr_accessor :updated_at_greater_than_or_equal
131
+ attr_accessor :updated_at_less_than_or_equal
132
+ attr_accessor :partner_id_equal
133
+ attr_accessor :partner_id_in
134
+ attr_accessor :name_equal
135
+ attr_accessor :name_like
136
+ attr_accessor :status_equal
137
+ attr_accessor :status_in
138
+ attr_accessor :engine_type_equal
139
+ attr_accessor :engine_type_in
140
+
141
+ def id_equal=(val)
142
+ @id_equal = val.to_i
143
+ end
144
+ def created_at_greater_than_or_equal=(val)
145
+ @created_at_greater_than_or_equal = val.to_i
146
+ end
147
+ def created_at_less_than_or_equal=(val)
148
+ @created_at_less_than_or_equal = val.to_i
149
+ end
150
+ def updated_at_greater_than_or_equal=(val)
151
+ @updated_at_greater_than_or_equal = val.to_i
152
+ end
153
+ def updated_at_less_than_or_equal=(val)
154
+ @updated_at_less_than_or_equal = val.to_i
155
+ end
156
+ def partner_id_equal=(val)
157
+ @partner_id_equal = val.to_i
158
+ end
159
+ def status_equal=(val)
160
+ @status_equal = val.to_i
161
+ end
162
+ end
163
+
164
+ class KalturaVirusScanProfileFilter < KalturaVirusScanProfileBaseFilter
165
+
166
+ end
167
+
168
+
169
+ # Virus scan profile service
170
+ #
171
+ class KalturaVirusScanProfileService < KalturaServiceBase
172
+ def initialize(client)
173
+ super(client)
174
+ end
175
+
176
+ # List virus scan profile objects by filter and pager
177
+ #
178
+ def list(filter=KalturaNotImplemented, pager=KalturaNotImplemented)
179
+ kparams = {}
180
+ client.add_param(kparams, 'filter', filter);
181
+ client.add_param(kparams, 'pager', pager);
182
+ client.queue_service_action_call('virusscan_virusscanprofile', 'list', kparams);
183
+ if (client.is_multirequest)
184
+ return nil;
185
+ end
186
+ return client.do_queue();
187
+ end
188
+
189
+ # Allows you to add an virus scan profile object and virus scan profile content associated with Kaltura object
190
+ #
191
+ def add(virus_scan_profile)
192
+ kparams = {}
193
+ client.add_param(kparams, 'virusScanProfile', virus_scan_profile);
194
+ client.queue_service_action_call('virusscan_virusscanprofile', 'add', kparams);
195
+ if (client.is_multirequest)
196
+ return nil;
197
+ end
198
+ return client.do_queue();
199
+ end
200
+
201
+ # Retrieve an virus scan profile object by id
202
+ #
203
+ def get(virus_scan_profile_id)
204
+ kparams = {}
205
+ client.add_param(kparams, 'virusScanProfileId', virus_scan_profile_id);
206
+ client.queue_service_action_call('virusscan_virusscanprofile', 'get', kparams);
207
+ if (client.is_multirequest)
208
+ return nil;
209
+ end
210
+ return client.do_queue();
211
+ end
212
+
213
+ # Update exisitng virus scan profile, it is possible to update the virus scan profile id too
214
+ #
215
+ def update(virus_scan_profile_id, virus_scan_profile)
216
+ kparams = {}
217
+ client.add_param(kparams, 'virusScanProfileId', virus_scan_profile_id);
218
+ # Id
219
+ client.add_param(kparams, 'virusScanProfile', virus_scan_profile);
220
+ client.queue_service_action_call('virusscan_virusscanprofile', 'update', kparams);
221
+ if (client.is_multirequest)
222
+ return nil;
223
+ end
224
+ return client.do_queue();
225
+ end
226
+
227
+ # Mark the virus scan profile as deleted
228
+ #
229
+ def delete(virus_scan_profile_id)
230
+ kparams = {}
231
+ client.add_param(kparams, 'virusScanProfileId', virus_scan_profile_id);
232
+ client.queue_service_action_call('virusscan_virusscanprofile', 'delete', kparams);
233
+ if (client.is_multirequest)
234
+ return nil;
235
+ end
236
+ return client.do_queue();
237
+ end
238
+
239
+ # Scan flavor asset according to virus scan profile
240
+ #
241
+ def scan(flavor_asset_id, virus_scan_profile_id=KalturaNotImplemented)
242
+ kparams = {}
243
+ client.add_param(kparams, 'flavorAssetId', flavor_asset_id);
244
+ client.add_param(kparams, 'virusScanProfileId', virus_scan_profile_id);
245
+ client.queue_service_action_call('virusscan_virusscanprofile', 'scan', kparams);
246
+ if (client.is_multirequest)
247
+ return nil;
248
+ end
249
+ return client.do_queue();
250
+ end
251
+ end
252
+
253
+ class KalturaClient < KalturaClientBase
254
+ attr_reader :virus_scan_profile_service
255
+ def virus_scan_profile_service
256
+ if (@virus_scan_profile_service == nil)
257
+ @virus_scan_profile_service = KalturaVirusScanProfileService.new(self)
258
+ end
259
+ return @virus_scan_profile_service
260
+ end
261
+ end
262
+
263
+ end
@@ -0,0 +1,121 @@
1
+ # ===================================================================================================
2
+ # _ __ _ _
3
+ # | |/ /__ _| | |_ _ _ _ _ __ _
4
+ # | ' </ _` | | _| || | '_/ _` |
5
+ # |_|\_\__,_|_|\__|\_,_|_| \__,_|
6
+ #
7
+ # This file is part of the Kaltura Collaborative Media Suite which allows users
8
+ # to do with audio, video, and animation what Wiki platfroms allow them to do with
9
+ # text.
10
+ #
11
+ # Copyright (C) 2006-2011 Kaltura Inc.
12
+ #
13
+ # This program is free software: you can redistribute it and/or modify
14
+ # it under the terms of the GNU Affero General Public License as
15
+ # published by the Free Software Foundation, either version 3 of the
16
+ # License, or (at your option) any later version.
17
+ #
18
+ # This program is distributed in the hope that it will be useful,
19
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
+ # GNU Affero General Public License for more details.
22
+ #
23
+ # You should have received a copy of the GNU Affero General Public License
24
+ # along with this program. If not, see <http:#www.gnu.org/licenses/>.
25
+ #
26
+ # @ignore
27
+ # ===================================================================================================
28
+ require 'kaltura_client.rb'
29
+ require File.dirname(__FILE__) + '/kaltura_drop_folder_client_plugin.rb'
30
+ require File.dirname(__FILE__) + '/kaltura_metadata_client_plugin.rb'
31
+
32
+ module Kaltura
33
+
34
+ class KalturaWebexDropFolderFileOrderBy
35
+ CREATED_AT_ASC = "+createdAt"
36
+ FILE_NAME_ASC = "+fileName"
37
+ FILE_SIZE_ASC = "+fileSize"
38
+ FILE_SIZE_LAST_SET_AT_ASC = "+fileSizeLastSetAt"
39
+ ID_ASC = "+id"
40
+ PARSED_FLAVOR_ASC = "+parsedFlavor"
41
+ PARSED_SLUG_ASC = "+parsedSlug"
42
+ UPDATED_AT_ASC = "+updatedAt"
43
+ CREATED_AT_DESC = "-createdAt"
44
+ FILE_NAME_DESC = "-fileName"
45
+ FILE_SIZE_DESC = "-fileSize"
46
+ FILE_SIZE_LAST_SET_AT_DESC = "-fileSizeLastSetAt"
47
+ ID_DESC = "-id"
48
+ PARSED_FLAVOR_DESC = "-parsedFlavor"
49
+ PARSED_SLUG_DESC = "-parsedSlug"
50
+ UPDATED_AT_DESC = "-updatedAt"
51
+ end
52
+
53
+ class KalturaWebexDropFolderOrderBy
54
+ CREATED_AT_ASC = "+createdAt"
55
+ ID_ASC = "+id"
56
+ NAME_ASC = "+name"
57
+ UPDATED_AT_ASC = "+updatedAt"
58
+ CREATED_AT_DESC = "-createdAt"
59
+ ID_DESC = "-id"
60
+ NAME_DESC = "-name"
61
+ UPDATED_AT_DESC = "-updatedAt"
62
+ end
63
+
64
+ class KalturaWebexDropFolder < KalturaDropFolder
65
+ attr_accessor :webex_user_id
66
+ attr_accessor :webex_password
67
+ attr_accessor :webex_site_id
68
+ attr_accessor :webex_partner_id
69
+ attr_accessor :webex_service_url
70
+ attr_accessor :webex_host_id_metadata_field_name
71
+ attr_accessor :categories_metadata_field_name
72
+ attr_accessor :enforce_entitlement
73
+
74
+ def webex_site_id=(val)
75
+ @webex_site_id = val.to_i
76
+ end
77
+ def enforce_entitlement=(val)
78
+ @enforce_entitlement = to_b(val)
79
+ end
80
+ end
81
+
82
+ class KalturaWebexDropFolderFile < KalturaDropFolderFile
83
+ attr_accessor :recording_id
84
+ attr_accessor :webex_host_id
85
+ attr_accessor :description
86
+ attr_accessor :conf_id
87
+ attr_accessor :content_url
88
+
89
+ def recording_id=(val)
90
+ @recording_id = val.to_i
91
+ end
92
+ end
93
+
94
+ class KalturaWebexDropFolderContentProcessorJobData < KalturaDropFolderContentProcessorJobData
95
+ attr_accessor :description
96
+ attr_accessor :webex_host_id
97
+ attr_accessor :drop_folder_id
98
+
99
+ def drop_folder_id=(val)
100
+ @drop_folder_id = val.to_i
101
+ end
102
+ end
103
+
104
+ class KalturaWebexDropFolderBaseFilter < KalturaDropFolderFilter
105
+
106
+ end
107
+
108
+ class KalturaWebexDropFolderFileBaseFilter < KalturaDropFolderFileFilter
109
+
110
+ end
111
+
112
+ class KalturaWebexDropFolderFileFilter < KalturaWebexDropFolderFileBaseFilter
113
+
114
+ end
115
+
116
+ class KalturaWebexDropFolderFilter < KalturaWebexDropFolderBaseFilter
117
+
118
+ end
119
+
120
+
121
+ end
@@ -0,0 +1,195 @@
1
+ # ===================================================================================================
2
+ # _ __ _ _
3
+ # | |/ /__ _| | |_ _ _ _ _ __ _
4
+ # | ' </ _` | | _| || | '_/ _` |
5
+ # |_|\_\__,_|_|\__|\_,_|_| \__,_|
6
+ #
7
+ # This file is part of the Kaltura Collaborative Media Suite which allows users
8
+ # to do with audio, video, and animation what Wiki platfroms allow them to do with
9
+ # text.
10
+ #
11
+ # Copyright (C) 2006-2011 Kaltura Inc.
12
+ #
13
+ # This program is free software: you can redistribute it and/or modify
14
+ # it under the terms of the GNU Affero General Public License as
15
+ # published by the Free Software Foundation, either version 3 of the
16
+ # License, or (at your option) any later version.
17
+ #
18
+ # This program is distributed in the hope that it will be useful,
19
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
+ # GNU Affero General Public License for more details.
22
+ #
23
+ # You should have received a copy of the GNU Affero General Public License
24
+ # along with this program. If not, see <http:#www.gnu.org/licenses/>.
25
+ #
26
+ # @ignore
27
+ # ===================================================================================================
28
+ require 'kaltura_client.rb'
29
+ require File.dirname(__FILE__) + '/kaltura_drm_client_plugin.rb'
30
+
31
+ module Kaltura
32
+
33
+ class KalturaWidevineRepositorySyncMode
34
+ MODIFY = 0
35
+ end
36
+
37
+ class KalturaWidevineFlavorAssetOrderBy
38
+ CREATED_AT_ASC = "+createdAt"
39
+ DELETED_AT_ASC = "+deletedAt"
40
+ SIZE_ASC = "+size"
41
+ UPDATED_AT_ASC = "+updatedAt"
42
+ CREATED_AT_DESC = "-createdAt"
43
+ DELETED_AT_DESC = "-deletedAt"
44
+ SIZE_DESC = "-size"
45
+ UPDATED_AT_DESC = "-updatedAt"
46
+ end
47
+
48
+ class KalturaWidevineFlavorParamsOrderBy
49
+ end
50
+
51
+ class KalturaWidevineFlavorParamsOutputOrderBy
52
+ end
53
+
54
+ class KalturaWidevineProfileOrderBy
55
+ ID_ASC = "+id"
56
+ NAME_ASC = "+name"
57
+ ID_DESC = "-id"
58
+ NAME_DESC = "-name"
59
+ end
60
+
61
+ class KalturaWidevineProfile < KalturaDrmProfile
62
+ attr_accessor :key
63
+ attr_accessor :iv
64
+ attr_accessor :owner
65
+ attr_accessor :portal
66
+ attr_accessor :max_gop
67
+ attr_accessor :reg_server_host
68
+
69
+ def max_gop=(val)
70
+ @max_gop = val.to_i
71
+ end
72
+ end
73
+
74
+ class KalturaWidevineRepositorySyncJobData < KalturaJobData
75
+ attr_accessor :sync_mode
76
+ attr_accessor :wv_asset_ids
77
+ attr_accessor :modified_attributes
78
+ attr_accessor :monitor_sync_completion
79
+
80
+ def sync_mode=(val)
81
+ @sync_mode = val.to_i
82
+ end
83
+ def monitor_sync_completion=(val)
84
+ @monitor_sync_completion = val.to_i
85
+ end
86
+ end
87
+
88
+ class KalturaWidevineFlavorAsset < KalturaFlavorAsset
89
+ # License distribution window start date
90
+ #
91
+ attr_accessor :widevine_distribution_start_date
92
+ # License distribution window end date
93
+ #
94
+ attr_accessor :widevine_distribution_end_date
95
+ # Widevine unique asset id
96
+ #
97
+ attr_accessor :widevine_asset_id
98
+
99
+ def widevine_distribution_start_date=(val)
100
+ @widevine_distribution_start_date = val.to_i
101
+ end
102
+ def widevine_distribution_end_date=(val)
103
+ @widevine_distribution_end_date = val.to_i
104
+ end
105
+ def widevine_asset_id=(val)
106
+ @widevine_asset_id = val.to_i
107
+ end
108
+ end
109
+
110
+ class KalturaWidevineFlavorParams < KalturaFlavorParams
111
+
112
+ end
113
+
114
+ class KalturaWidevineFlavorParamsOutput < KalturaFlavorParamsOutput
115
+ # License distribution window start date
116
+ #
117
+ attr_accessor :widevine_distribution_start_date
118
+ # License distribution window end date
119
+ #
120
+ attr_accessor :widevine_distribution_end_date
121
+
122
+ def widevine_distribution_start_date=(val)
123
+ @widevine_distribution_start_date = val.to_i
124
+ end
125
+ def widevine_distribution_end_date=(val)
126
+ @widevine_distribution_end_date = val.to_i
127
+ end
128
+ end
129
+
130
+ class KalturaWidevineProfileBaseFilter < KalturaDrmProfileFilter
131
+
132
+ end
133
+
134
+ class KalturaWidevineProfileFilter < KalturaWidevineProfileBaseFilter
135
+
136
+ end
137
+
138
+ class KalturaWidevineFlavorAssetBaseFilter < KalturaFlavorAssetFilter
139
+
140
+ end
141
+
142
+ class KalturaWidevineFlavorParamsBaseFilter < KalturaFlavorParamsFilter
143
+
144
+ end
145
+
146
+ class KalturaWidevineFlavorAssetFilter < KalturaWidevineFlavorAssetBaseFilter
147
+
148
+ end
149
+
150
+ class KalturaWidevineFlavorParamsFilter < KalturaWidevineFlavorParamsBaseFilter
151
+
152
+ end
153
+
154
+ class KalturaWidevineFlavorParamsOutputBaseFilter < KalturaFlavorParamsOutputFilter
155
+
156
+ end
157
+
158
+ class KalturaWidevineFlavorParamsOutputFilter < KalturaWidevineFlavorParamsOutputBaseFilter
159
+
160
+ end
161
+
162
+
163
+ # WidevineDrmService serves as a license proxy to a Widevine license server
164
+ #
165
+ class KalturaWidevineDrmService < KalturaServiceBase
166
+ def initialize(client)
167
+ super(client)
168
+ end
169
+
170
+ # Get license for encrypted content playback
171
+ #
172
+ def get_license(flavor_asset_id, referrer=KalturaNotImplemented)
173
+ kparams = {}
174
+ client.add_param(kparams, 'flavorAssetId', flavor_asset_id);
175
+ # 64base encoded
176
+ client.add_param(kparams, 'referrer', referrer);
177
+ client.queue_service_action_call('widevine_widevinedrm', 'getLicense', kparams);
178
+ if (client.is_multirequest)
179
+ return nil;
180
+ end
181
+ return client.do_queue();
182
+ end
183
+ end
184
+
185
+ class KalturaClient < KalturaClientBase
186
+ attr_reader :widevine_drm_service
187
+ def widevine_drm_service
188
+ if (@widevine_drm_service == nil)
189
+ @widevine_drm_service = KalturaWidevineDrmService.new(self)
190
+ end
191
+ return @widevine_drm_service
192
+ end
193
+ end
194
+
195
+ end