kaltura-ruby-client 1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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