OpenCable™ Application Platform Specification


                     OCAP Home Networking Extension


                    ...
OC-SP-OCAP-HNEXT1.0-I01-050519                                         OpenCable™ Application Platform Specification




 ...
OCAP Home Networking                                                                                                  OC-S...
OC-SP-OCAP-HNEXT1.0-I01-050519                                                                        OpenCable™ Applicati...
OCAP Home Networking                                                                                          OC-SP-OCAP-H...
OC-SP-OCAP-HNEXT1.0-I01-050519                                  OpenCable™ Application Platform Specification




        ...
OCAP Home Networking                                                                      OC-SP-OCAP-HNEXT1.0-I01-050519

...
OC-SP-OCAP-HNEXT1.0-I01-050519                                  OpenCable™ Application Platform Specification




        ...
OCAP Home Networking                                                                             OC-SP-OCAP-HNEXT1.0-I01-0...
OC-SP-OCAP-HNEXT1.0-I01-050519                                  OpenCable™ Application Platform Specification




        ...
OCAP Home Networking                                                           OC-SP-OCAP-HNEXT1.0-I01-050519




1 Scope
...
OC-SP-OCAP-HNEXT1.0-I01-050519                                             OpenCable™ Application Platform Specification

...
OCAP Home Networking                                                              OC-SP-OCAP-HNEXT1.0-I01-050519




1.4 O...
OC-SP-OCAP-HNEXT1.0-I01-050519                                  OpenCable™ Application Platform Specification




        ...
OCAP Home Networking                                                                       OC-SP-OCAP-HNEXT1.0-I01-050519
...
OC-SP-OCAP-HNEXT1.0-I01-050519                                             OpenCable™ Application Platform Specification

...
OCAP Home Networking                                                             OC-SP-OCAP-HNEXT1.0-I01-050519




3 Glos...
OC-SP-OCAP-HNEXT1.0-I01-050519                                         OpenCable™ Application Platform Specification



OC...
OCAP Home Networking                                             OC-SP-OCAP-HNEXT1.0-I01-050519




4 Acronyms
The followi...
OC-SP-OCAP-HNEXT1.0-I01-050519                                  OpenCable™ Application Platform Specification




        ...
OCAP Home Networking                                                                    OC-SP-OCAP-HNEXT1.0-I01-050519



...
OC-SP-OCAP-HNEXT1.0-I01-050519                                  OpenCable™ Application Platform Specification




        ...
OCAP Home Networking                                                                OC-SP-OCAP-HNEXT1.0-I01-050519




6 O...
OC-SP-OCAP-HNEXT1.0-I01-050519                                        OpenCable™ Application Platform Specification




6....
OCAP Home Networking                                                               OC-SP-OCAP-HNEXT1.0-I01-050519



   c)...
OC-SP-OCAP-HNEXT1.0-I01-050519                                        OpenCable™ Application Platform Specification




6....
OCAP Home Networking                                                     OC-SP-OCAP-HNEXT1.0-I01-050519




6.7.1     Addi...
OC-SP-OCAP-HNEXT1.0-I01-050519                                  OpenCable™ Application Platform Specification




        ...
OCAP Home Networking                                                         OC-SP-OCAP-HNEXT1.0-I01-050519




7 Security...
OC-SP-OCAP-HNEXT1.0-I01-050519                                  OpenCable™ Application Platform Specification




        ...
OCAP Home Networking                                                 OC-SP-OCAP-HNEXT1.0-I01-050519




8    Minimum Platf...
OC-SP-OCAP-HNEXT1.0-I01-050519                                  OpenCable™ Application Platform Specification




        ...
OCAP Home Networking                                                            OC-SP-OCAP-HNEXT1.0-I01-050519




Annex A...
OC-SP-OCAP-HNEXT1.0-I01-050519                                          OpenCable™ Application Platform Specification




...
OCAP Home Networking                                                        OC-SP-OCAP-HNEXT1.0-I01-050519




org.ocap.hn...
OC-SP-OCAP-HNEXT1.0-I01-050519                                      OpenCable™ Application Platform Specification



     ...
OCAP Home Networking                                                    OC-SP-OCAP-HNEXT1.0-I01-050519



    Throws:
    ...
OC-SP-OCAP-HNEXT1.0-I01-050519                                 OpenCable™ Application Platform Specification




org.ocap....
OCAP Home Networking                                                         OC-SP-OCAP-HNEXT1.0-I01-050519



getName()
 ...
OC-SP-OCAP-HNEXT1.0-I01-050519                                          OpenCable™ Application Platform Specification




...
OCAP Home Networking                                                            OC-SP-OCAP-HNEXT1.0-I01-050519




 Member...
OC-SP-OCAP-HNEXT1.0-I01-050519                                         OpenCable™ Application Platform Specification




 ...
OCAP Home Networking                                                OC-SP-OCAP-HNEXT1.0-I01-050519



PROP_MIDDLEWARE_VERS...
OC-SP-OCAP-HNEXT1.0-I01-050519                                     OpenCable™ Application Platform Specification



TYPE_D...
OCAP Home Networking                                                      OC-SP-OCAP-HNEXT1.0-I01-050519



TYPE_REMOTE_UI...
OC-SP-OCAP-HNEXT1.0-I01-050519                                       OpenCable™ Application Platform Specification



getN...
OCAP Home Networking                                                          OC-SP-OCAP-HNEXT1.0-I01-050519




     org....
OC-SP-OCAP-HNEXT1.0-I01-050519                                    OpenCable™ Application Platform Specification




Constr...
OCAP Home Networking                                                        OC-SP-OCAP-HNEXT1.0-I01-050519




org.ocap.hn...
OC-SP-OCAP-HNEXT1.0-I01-050519                                       OpenCable™ Application Platform Specification




 Me...
OCAP Home Networking                                                         OC-SP-OCAP-HNEXT1.0-I01-050519




Constructo...
OC-SP-OCAP-HNEXT1.0-I01-050519                                         OpenCable™ Application Platform Specification




o...
OCAP Home Networking                                                              OC-SP-OCAP-HNEXT1.0-I01-050519




org.o...
OC-SP-OCAP-HNEXT1.0-I01-050519                                         OpenCable™ Application Platform Specification




M...
OCAP Home Networking                                                     OC-SP-OCAP-HNEXT1.0-I01-050519




org.ocap.hn
Ne...
OC-SP-OCAP-HNEXT1.0-I01-050519                                          OpenCable™ Application Platform Specification



 ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
OpenCable' Application Platform Specification OCAP Home ...
Upcoming SlideShare
Loading in...5
×

OpenCable' Application Platform Specification OCAP Home ...

867

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
867
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "OpenCable' Application Platform Specification OCAP Home ..."

  1. 1. OpenCable™ Application Platform Specification OCAP Home Networking Extension OC-SP-OCAP-HNEXT1.0-I01-050519 ISSUED SPECIFICATION Notice This document is the result of a cooperative effort undertaken at the direction of Cable Television Laboratories, Inc. for the benefit of the cable industry and its customers. This document may contain references to other documents not owned or controlled by CableLabs. Use and understanding of this document may require access to such other documents. Designing, manufacturing, distributing, using, selling, or servicing products, or providing services, based on this document may require intellectual property licenses from third parties for technology referenced in the document. Neither CableLabs nor any member company is responsible to any party for any liability of any nature whatsoever resulting from or arising out of use or reliance upon this document, or any document referenced herein. This document is furnished on an "AS IS" basis and neither CableLabs nor its members provides any representation or warranty, express or implied, regarding the accuracy, completeness, or fitness for a particular purpose of this document, or any document referenced herein. If you, or the company or organization that you represent, has an existing agreement with CableLabs concerning the use of this document, or subsequently enters into another agreement with CableLabs concerning the use of this document (e.g., the OCAP Implementers Agreement), your rights and obligations with respect to this document, and the rights and obligations of the company or organization that you represent, SHALL be as set forth therein. © Copyright 2005 Cable Television Laboratories, Inc. All rights reserved.
  2. 2. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification Document Status Document Control Number: OC-SP-OCAP-HNEXT1.0-I01-050519 Reference: OCAP Home Networking Extension Revision History: I01-050519 - Released May 19, 2005 Date: May 19, 2005 Status Code: Work in Draft Issued Closed Process Distribution Restrictions: CableLabs CL CL Public only Reviewers Vendor Key to Document Status Codes Work in Process An incomplete document, designed to guide discussion and generate feedback, that may include several alternative requirements for consideration. Draft A document in specification format considered largely complete, but lacking review by cable industry and vendors. Drafts are susceptible to substantial change during the review process. Issued A stable document, which has undergone rigorous member and vendor review and is suitable for product design and development, cross-vendor interoperability, and for certification testing. Closed A static document, reviewed, tested, validated, and closed to further engineering change requests to the specification through CableLabs. Trademarks: DOCSIS®, eDOCSIS™, PacketCable™, CableHome®, CableOffice™, OpenCable™, CableCARD™, and CableLabs® are trademarks of Cable Television Laboratories, Inc ii CableLabs®
  3. 3. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 Table of Contents 1 SCOPE ..............................................................................................................................................................1 1.1 OCAP HOME NETWORKING EXTENSION PURPOSE ...........................................................................................1 1.2 OCAP HOME NETWORKING EXTENSION REQUIREMENTS ................................................................................1 1.3 OCAP HOME NETWORKING ENVIRONMENT .....................................................................................................2 1.4 OCAP HOME NETWORKING APPLICATION AREAS (INFORMATIVE) .................................................................3 1.4.1 Connected Device and Content Discovery .............................................................................................3 1.4.2 Presenting Content .................................................................................................................................3 1.4.3 Remote Rendering...................................................................................................................................3 2 REFERENCES.................................................................................................................................................5 2.1 NORMATIVE REFERENCES .................................................................................................................................5 2.2 INFORMATIVE REFERENCES...............................................................................................................................6 3 GLOSSARY .....................................................................................................................................................7 4 ACRONYMS ....................................................................................................................................................9 5 CONVENTIONS............................................................................................................................................11 5.1 SPECIFICATION LANGUAGE .............................................................................................................................11 5.2 ORGANIZATION................................................................................................................................................11 6 OCAP HOME NETWORKING...................................................................................................................13 6.1 INTRODUCTION ................................................................................................................................................13 6.2 DEVICE DISCOVERY ........................................................................................................................................14 6.2.1 Device Discovery Process ....................................................................................................................14 6.3 CONTENT DISCOVERY AND LISTING ...............................................................................................................14 6.3.1 Content Discovery and Listing Process................................................................................................14 6.4 CONTENT MANAGEMENT ................................................................................................................................14 6.4.1 Content Management Process ..............................................................................................................14 6.4.2 Content Management APIs ...................................................................................................................15 6.5 REMOTE OPERATIONS .....................................................................................................................................15 6.5.1 Remote Rendering.................................................................................................................................15 6.6 PERMISSIONS ...................................................................................................................................................16 6.6.1 Unsigned Applications..........................................................................................................................16 6.6.2 Signed Application................................................................................................................................16 6.6.3 Monitor Applications ............................................................................................................................16 6.7 OCAP HOME NETWORKING API ....................................................................................................................16 6.7.1 Additions to OCAP 1.0 Packages .........................................................................................................17 6.7.2 OCAP Home Networking Packages .....................................................................................................17 7 SECURITY.....................................................................................................................................................19 7.1 HOME NETWORK PERMISSION ........................................................................................................................19 CableLabs® iii
  4. 4. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification 8 MINIMUM PLATFORM CAPABILITIES ............................................................................................... 21 ANNEX A ORG.OCAP.HN ............................................................................................................................ 23 org.ocap.hn ................................................................................................23 ContentManagementModule .............................................................................................................. 25 ContentServer ..................................................................................................................................... 28 Device ................................................................................................................................................ 30 HomeNetPermission .......................................................................................................................... 37 NetActionEvent .................................................................................................................................. 39 NetActionHandler .............................................................................................................................. 42 NetActionRequest .............................................................................................................................. 43 NetList................................................................................................................................................ 45 NetManager ........................................................................................................................................ 47 NetModule ......................................................................................................................................... 50 NetModuleChangeEvent .................................................................................................................... 54 NetModuleChangeListener ................................................................................................................ 56 NetModuleEvent ................................................................................................................................ 57 NetModuleEventListener ................................................................................................................... 60 NotAuthorizedException ................................................................................................................... 61 PropertyFilter ..................................................................................................................................... 62 RemoteMediaRendererModule .......................................................................................................... 64 RemoteMediaStorage ......................................................................................................................... 66 RemoteNetModule ............................................................................................................................. 67 RemoteRecordingManager ................................................................................................................ 68 RemoteRecordingResourceUsage ...................................................................................................... 69 RemoteResourceUsage ...................................................................................................................... 70 RemoteTimeShiftManager ................................................................................................................. 71 RemoteTimeShiftResourceUsage ...................................................................................................... 72 ANNEX B ORG.OCAP.HN.CONTENT........................................................................................................ 73 org.ocap.hn.content ....................................................................................73 AudioResource ................................................................................................................................... 74 ContentContainer ............................................................................................................................... 76 ContentDatabase ................................................................................................................................ 80 ContentDirectory ................................................................................................................................ 84 ContentEntry ...................................................................................................................................... 90 ContentItem ........................................................................................................................................ 93 ContentListEvent ............................................................................................................................. 104 ContentListListener .......................................................................................................................... 106 ContentResource .............................................................................................................................. 107 DatabaseException ........................................................................................................................... 112 Metadata ........................................................................................................................................... 114 MetadataNode .................................................................................................................................. 127 RecordingContentItem ..................................................................................................................... 130 VideoResource ................................................................................................................................. 134 ANNEX C ORG.OCAP.HN.CONTENT.NAVIGATION .......................................................................... 135 org.ocap.hn.content.navigation ................................................................135 ContentDatabaseFilter ...................................................................................................................... 136 ContentList ....................................................................................................................................... 137 DatabaseQuery ................................................................................................................................. 139 iv CableLabs®
  5. 5. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 DeviceFilter ......................................................................................................................................144 ANNEX D ORG.OCAP.HN.UTIL ................................................................................................................147 org.ocap.hn.util ........................................................................................147 MultiLevelComparator .....................................................................................................................148 Searchable .........................................................................................................................................150 SearchableItem ..................................................................................................................................152 SearchableList ...................................................................................................................................154 TreeListAbstraction ..........................................................................................................................157 ANNEX E ORG.OCAP.HN.SERVICE ........................................................................................................161 org.ocap.hn.service ..................................................................................161 RemoteService .................................................................................................................................. 162 ANNEX F UPNP MAPPINGS (NORMATIVE)..........................................................................................163 CableLabs® v
  6. 6. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification This page intentionally left blank. vi CableLabs®
  7. 7. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 List of Figures FIGURE 1-1: DIGITAL HOME ENTERTAINMENT SYSTEM..................................................................................2 CableLabs® vii
  8. 8. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification This page intentionally left blank. viii CableLabs®
  9. 9. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 List of Tables TABLE 2-1 OCAP HN NORMATIVE REFERENCES ...................................................................................................5 TABLE 2-2 OCAP HN INFORMATIVE REFERENCES ...............................................................................................6 CableLabs® ix
  10. 10. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification This page intentionally left blank. x CableLabs®
  11. 11. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 1 Scope This document defines a minimal profile specification for a Home Networking software environment for digital cable receivers, with or without local storage. This platform is a modular extension to the OpenCable Application Platform 1.0 (OCAP 1.0) [2]. The OCAP 1.0 Specification and the OCAP Home Networking Extensions Specification were developed by Cable Television Laboratories, Inc. (CableLabs®) in conjunction with representatives from a number of its member cable operating companies, as well as leading software and hardware firms. The OCAP Home Networking Extensions Specification is based on the OCAP 1.0 Profile and includes that Specification in its entirety. 1.1 OCAP Home Networking Extension Purpose OCAP Home Networking Extension specification describes an application interface that includes all required Application Program Interfaces (APIs), content and data formats, and protocols up to the application level. Applications developed to the OCAP Home Networking Extension (HN) Specification will be executed on OpenCable-compliant host devices. The OCAP HN Specification allows cable operators to deploy their applications and services on all OpenCable-compliant host devices connected to their networks. The OCAP Home Networking platform SHALL be applicable to a wide variety of hardware and operating systems to allow Consumer Electronics (CE) manufacturers flexibility in implementation. A primary objective in defining OCAP Home Networking is to enable competing implementations of the OCAP Home Networking platform by CE manufacturers. 1.2 OCAP Home Networking Extension Requirements The OCAP Home Networking platform has been designed to meet specific requirements that are not commonly applied to other Home Networking environments. Some of these requirements are related to content protection obligations that cable operators face, to the fact that broadcast event descriptions might be maintained by applications, and to the fact that the platform supports DVR applications deployed by different service providers that have no a priori knowledge of each other and therefore may compete for resources. CableLabs® 1
  12. 12. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification 1.3 OCAP Home Networking Environment The OCAP Home Networking extensions have been designed to provide OCAP home networking applications access to digital entertainment content available on devices connected to a cable service subscriber’s home network. This includes content stored on the home networking-capable OpenCable Host device hosting the applications, as well as on other home networking-capable OpenCable Hosts and non-OpenCable Host devices connected to the home network. The OCAP Home Networking APIs assume that the Host and at least some of the other devices connected to the home network implement a set of protocols supporting the following functions: • Advertisement and discovery of connected devices • Advertisement and discovery of digital entertainment content stored on devices • Communication of information about a device’s capability to serve and/or receive digital entertainment content • Communication of information necessary to establish the transfer of digital entertainment content across the home network • Communication of playback control, file operations, and other commands needed to support the user’s enjoyment of digital entertainment content If these protocols are not implemented by two or more devices connected to the home network, features supported by the OCAP Home Networking extensions are not useable. Specification of the protocols supporting the functions described above is out of scope for the OCAP Home Networking Extension specification. Figure 1-1 illustrates a possible home network environment in which the OpenCable Host, implementing OCAP Home Network Extensions, can share digital entertainment content with other devices connected to the home network. Figure 1-1: Digital Home Entertainment System 2 CableLabs®
  13. 13. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 1.4 OCAP Home Networking Application Areas (informative) The information in this section is informative to the OCAP Home Networking Extensions Specification. This section identifies the applications and services that could be made available to the viewer when using an OCAP Home Networking-compliant terminal. The descriptions of the applications are intended to demonstrate the scope of services required from OCAP 1.0. 1.4.1 Connected Device and Content Discovery A critical application enabled by this platform is the discovery of connected devices and/or their audio or video content. Discovery of content available on the home network and its presentation to the user is the first step in setting up a transfer of content from a source (server) device to a rendering device, over a home network. 1.4.2 Presenting Content Presentation of discovered multimedia content to the user offers ample opportunity for application innovation. How the content listing is organized, how it is displayed, how an item is selected, options offered for filtering and managing it, and presentation of metadata, are some of the ways an application can differentiate itself and provide value for the end user. 1.4.3 Remote Rendering One of the important applications of home networking is the ability to have digital entertainment content that is stored on one device transferred across the home network and rendered on another device. This involves selection of content on a source (server) device, selection of a rendering device, negotiation of file format and codec, and transfer of the file over the home network. CableLabs® 3
  14. 14. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification This page intentionally left blank. 4 CableLabs®
  15. 15. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 2 References This section provides the normative and informative references used to create this specification. 2.1 Normative References Note: Information contained in these normative references is required for all implementations. Notwithstanding, intellectual property rights may be required to use or implement these normative references. The following documents contain provisions which, through reference in this text, constitute provisions of the present document. References are either specific (identified by date of publication, edition number, version number, etc.) or non-specific: • For a specific reference, subsequent revisions do not apply. • For a non-specific reference, the latest version applies. The following provisions apply to particular sources of documents in Table 2-1, Note column: [1] CableLabs specifications are available from: http://www.opencable.com/specifications/ Table 2-1 lists the normative references for this specification: Table 2-1 OCAP HN Normative References Index References Edition Description Note [1] OC-SP-SEC-I05- OpenCable System Security Specification 040831 Cable Television Laboratories, Inc. [2] OC-SP-OCAP1.0-I15- OCAP 1.0 OpenCable Application Platform Specification, 050415 OCAP 1.0 Profile Cable Television Laboratories, Inc. [3] OC-SP-HOST2.0- v2.0 OpenCable Host Device Core Functional CFR-I04-050415 Requirements [4] FIPS-46-3 99 Oct 25 Data Encryption Standard (DES) [5] FIPS-140-2 01 May 25 Security Requirements for Cryptographic Modules [6] FIPS-197 2001 November 26 Advanced Encryption Standard (AES) [7] ISO/IEC CD 21000- July 2001 Information Technology - Mutimedia Framework - 2:2001 Part 2: Digital Item Declaration [8] UPnP Content June 25, 2002 Content Directory:1 Service Template Version Directory Service 1.01 for UPnP Version 1.0 [9] OC-SP-OCAP-DVR- OCAP Digital Video Recorder (DVR) Extension [1] I02-050524 Cable Television Laboratories, Inc. [10] UPnP Media Server June 25, 2002 Media Server:1 Device Template Version 1.01 for UPnP Version 1.0. [11] UPnP Media June 25, 2002 Media Renderer:1 Device Template Version 1.01 Renderer for UPnP Version 1.0 [12] ETSI TS 101 812 June 2003 Digital Video Broadcasting (DVB); Multimedia v1.3.1 (2003-06) Home Platform (MHP) Specification 1.0.3. [13] CHILA CableLabs CableCARD-Host Interface License [1] Cable Television Laboratories, Inc. CableLabs® 5
  16. 16. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification 2.2 Informative References Table 2-2 lists the informative references for this specification: Table 2-2 OCAP HN Informative References Index References Edition Description Note [14] UPnP Forum www.upnp.org 6 CableLabs®
  17. 17. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 3 Glossary The following definitions are used in this specification: Connected Device A physical device that is currently connected to a communication network and is compliant with protocols specified or referred to in this specification enabling it to be discoverable by OCAP Home Networking applications through OCAP Home Networking APIs. Content Streaming media, file-based media, applications, and data including metadata, that are discoverable by OCAP applications through OCAP Home Networking APIs. Content Resource Properties Information about content such as file name, file size, date created, and metadata. Content Usage Rules As defined in CHILA and DFAST Device Capability The ability of a given device to perform a specific function, such as server, data store, or renderer. Device Property A specific attribute of a given device. Device Type As defined in the XML Device Schema acquired via the discovery process or as defined in the CableLabs OpenCable Host specification. Discovery The process by which OCAP HN applications find, directly or by proxy, devices and content that are exposed to OCAP applications. Home Network A communication system over which Connected Devices may be discovered and content shared. Legacy Device A set-top box with embedded security. OCAP Home Network An Internet Protocol (IP)-based communication network in a cable television service subscriber's home that allows the discovery and sharing of content among devices capable of storing, receiving or transferring data within the confines of the subscriber’s local area network (LAN) itself. The OCAP Home Network does not support or allow the transfer of copy-protected content beyond the physical boundaries of the subscriber’s home LAN. The OCAP Home Network extensions build upon and references underlying protocols and other capabilities defined (or to be defined) by the OpenCable specifications and/or other CableLabs specifications. The physical network media are irrelevant to specification of the OCAP Home Networking extensions. Although this specification is largely independent of the underlying network protocols, references to those protocols may appear in portions of this specification. OCAP Home Network Application An OCAP application as defined in [2] designed to use OCAP Home Networking APIs to provide the cable subscriber value by enabling the sharing of digital entertainment content (content) stored on Connected Devices, including but not limited to providing the following services: discovering Connected Devices, discovering content stored on Connected Devices, organizing and presenting to a user information about content stored on Connected Devices, and directing content on one Connected Device to be transferred to and rendered on another Connected Device. OCAP Home Network Implementation A hardware and software environment that conforms to the OCAP Home Networking Extensions specification. CableLabs® 7
  18. 18. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification OCAP Home Network Platform The hardware, software, policies, and requirements definitions embodied in the OCAP HN and related specifications. Remote Rendering Content rendered on a device other than where the content is stored or transferred from. Rendering Display of coded content (audio, video, or still image). 8 CableLabs®
  19. 19. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 4 Acronyms The following acronyms are used in this specification: API Application Programming Interface CCI Copy Control Information CHILA CableLabs CableCARD-Host Interface License Agreement DFAST Dynamic Feedback Arrangement Scrambling Technique DLNA Digital Living Network Alliance DVR Digital Video Recorder HN Home Network or Home Networking ISO International Organization for Standardization IETF Internet Engineering Task Force LAN Local Area Network OCAP OpenCable Application Platform PVR Personal Video Recorder RFC Request for Comments UPnP Universal Plug and Play URI Uniform Resource Identifier CableLabs® 9
  20. 20. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification This page intentionally left blank. 10 CableLabs®
  21. 21. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 5 Conventions The following conventions are used in this manual: • The following font type is used to indicate code examples, names of properties, and other information that MUST be entered exactly as-is: code example font • Boldfaced text is used as emphasis. • Italicized text is used to indicate section titles when referenced within the text. 5.1 Specification Language The following words are used throughout this document to define the significance of particular requirements: MUST/SHALL This word, or the adjective REQUIRED, means that the item is an absolute requirement of this specification. MUST NOT/SHALL NOT This phrase means that the item is an absolute prohibition of this specification. SHOULD This word, or the adjective RECOMMENDED, means that valid reasons may exist in particular circumstances to ignore this item, but the full implications should be understood and the case carefully weighed before choosing a different course. SHOULD NOT This phrase means that there may exist valid reasons in particular circumstances when the listed behavior is acceptable or even useful, but the full implications should be understood and the case carefully weighed before implementing any behavior described with this label. MAY this word, or the adjective OPTIONAL, means that this item is truly optional. One vendor may choose to include the item because a particular marketplace requires it or because it enhances the product, for example; another vendor may omit the same item. Other text is descriptive or explanatory. 5.2 Organization This document uses the OpenCable Application Platform Specification, OCAP 1.0 Profile Cable Television Laboratories, Inc. [2] as its base. Where applicable, OCAP Home Networking sections reference the corresponding section within OCAP 1.0 [2]. The org.ocap.hn API package is defined in Annex A, org.ocap.hn. CableLabs® 11
  22. 22. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification This page intentionally left blank. 12 CableLabs®
  23. 23. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 6 OCAP Home Networking This chapter describes the OCAP Home Networking (HN) platform. The OCAP HN APIs are defined and described in more detail in Annex A, org.ocap.hn, Annex B, org.ocap.hn.content, Annex C, org.ocap.hn.content.navigation, Annex D, org.ocap.hn.util, and Annex E, org.ocap.hn.service. 6.1 Introduction This specification fully defines a Home Networking extension to OCAP 1.0 [2]. Implementers of this specification SHALL also fully implement OCAP 1.0 [2]. OCAP 1.0 [2] and this Home Networking extension platform are related in such a way that OCAP 1.0 [2] implementations have no build-time or run-time dependencies on the Home Networking extensions, while OCAP Home Network Implementations depend on the full implementation of OCAP 1.0 [2]. An OpenCable Host that implements the OCAP Home Networking extension MAY or MAY NOT implement the OCAP DVR extension as well. OCAP Home Networking extensions rely upon support in the OCAP Home Network Implementation and in Connected Devices of a set of compatible, IP-based device and Content Discovery LAN communication protocols to expose information about the Connected Devices, their capabilities, and the digital entertainment Content they store, if any. If the hardware and software platform that implements the OCAP Home Networking APIs and Connected Devices do not implement these protocols, then information about the devices, their capabilities, and stored Content is not conveyed to the OCAP Home Network Application through the implementation and the OCAP Home Networking APIs. Connected Devices that implement device and Content Discovery LAN communication protocols compliant with protocols supported by the OCAP Home Network implementation, are referred to as protocol-compliant devices. Definition of the IP-based device and Content Discovery LAN communication protocols is outside the scope of this OCAP Home Networking Extension specification. IP-based device and Content Discovery LAN communication protocols are specified in the OpenCableHost 2.0 Home Networking Extension specification. It is assumed that Content stored on the OpenCable Host, using OCAP DVR functionality, could be exposed to protocol compliant devices sharing the IP-based communication network, and Content exposed by protocol compliant devices sharing the IP-based communication network, could be moved or copied to DVR Content storage resources on the OpenCable Host device. This specification defines a platform to enable applications to discover devices on a Home Network, gain listings of Content resources on Connected Devices, and perform certain operations on Content resources, such as Rendering, copying, and deleting. These functions are considered basic capabilities of a home networking platform, and the platform is limited in scope to support these basic functions. Advanced functions, such as device specific operations, are not supported by this platform. This chapter describes the platform in a textual format, and places normative requirements on implementations. Annexes to this specification define the platform APIs, and contains detailed API descriptions and normative statements. The OCAP Home Networking APIs assume that the OpenCable Host platform, in which they are implemented, provides an interface to an Internet Protocol (IP)-based communication network in a cable service subscriber’s premises. CableLabs recognizes that many of the supporting functions required by OCAP Home Networking APIs are supported by UPnP™ Forum specifications, such as the UPnP Media Server [10], UPnP Media Renderer [11] and UPnP Content Directory Service [8] Standardized Device Control Protocol specifications. The mapping between OCAP Home Networking APIs and UPnP services and actions is described in Annex F, UPnP Mappings (Normative). CableLabs® 13
  24. 24. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification 6.2 Device Discovery OCAP Home Network Applications are provided with the ability to detect the presence of Connected Devices on the OCAP Home Network, discover the properties and capabilities of those devices, and detect changes in the status of those devices. Device information acquired by the OCAP Home Network Implementation is exposed to OCAP applications, in particular to OCAP Home Network Applications, through the OCAP Home Networking APIs. 6.2.1 Device Discovery Process The process used by the OCAP Home Network Implementation for discovering devices connected on the Home Network includes the following activities: a) Maintaining a list of Connected Devices. b) Maintaining metadata for each Connected Device, such that its type, sub-devices, capabilities, properties, and supported functionalities may be exposed to applications. c) Generating application events when devices are added or removed from the list of Connected Devices. 6.3 Content Discovery and Listing OCAP Home Networking APIs provide OCAP Home Network Applications with the ability to detect the presence of Content resources accessible on devices connected on the OCAP Home Network. Content information acquired by the OCAP Home Network Implementation is exposed to OCAP applications through the OCAP Home Networking APIs. 6.3.1 Content Discovery and Listing Process The process for discovering Content on Connected Devices on the Home Network include the following activities: a) Generating, on application request, a list of Content resources available on a Connected Device. b) Generating, on application request, a list of Content resources available on all Connected Devices. c) Generating, on application request, metadata associated with Content resource. d) Generating application events when Content resources are added, removed, or modified from a list of Content resources. 6.4 Content Management OCAP Home Network Applications are provided with the ability to manage Content by copying or moving it from one device to another, or by deleting Content on one device from another remote device. A move is a copy where the original Content is deleted after the Content has been successfully moved. 6.4.1 Content Management Process The process for managing Content on Connected Devices on the Home Network includes the following activities: a) Causing, on application request, the deletion of Content resources available on a Connected Device. b) Causing, on application request, Content resources available on a Connected Device, to be copied onto another Connected Device, where resources are available on the destination Connected Device. Note: The copy and delete functions provide the capability to perform a move function, where a Content resource is first copied, then deleted from its origin. 14 CableLabs®
  25. 25. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 c) Causing, on application request, that metadata be associated with a Content resource. d) Generating, on application request, logical groupings of Content resources. Note: These groupings are meant to provide similar functionality as directories and volumes on typical file systems. Content can be copied remotely using a two or three device configuration. In a two-device configuration, the OCAP application controlling an action enabled by OCAP Home Networking APIs runs on either device, and controls the Content copy from one device to another. In a three device configuration, the controlling application operates in one device, and invokes a copy command from a second device to a third device. In general, a Content copy is referred to as a PULL, when the receiving device instigates the copy, and a PUSH, when the transmitting device instigates the copy. In OCAP HN, a controlling application can cause either technique to be used by an implementation based on the source and destination arguments passed to the Content management API. Copying and deleting are operations with potential useage or useability considerations requiring special permissions, as defined in Section 6.6, Permissions. 6.4.1.1 RecordedService Copy When Content to be copied has a source that is specified using a Locator [2], which indicates a RecordedService [2], the service must be encoded into a common format. The OCAP Home Network Implementation SHALL encode the service into a single MPEG-2 transport stream representing the same information that was recorded, including all audio, video, and data elementary streams. The transport stream SHALL comply with OCAP 1.0 [2], transport protocols. It is implementation specific, whether the original recording is stored in this form so that encoding is not necessary when a network copy is instigated. 6.4.2 Content Management APIs Content management APIs are available in both synchronous and asynchronous forms. For synchronous form, see the ContentEntry methods, which copy and delete in Annex B, org.ocap.hn.content. For asynchronous form, see the ContentManagementModule in Annex A, org.ocap.hn. 6.5 Remote Operations OCAP Home Networking applications are provided with the ability to perform a number of operations effecting Content resources stored on devices connected to the OCAP Home Network, including Content management operations, and Rendering. 6.5.1 Remote Rendering Remote Rendering is the display or output of a Content resource on a Connected Device, other than the device on which the application causing theRemote Rendering is executing. 6.5.1.1 Remote Rendering Process The process undertaken by the OCAP Home Network Implementation for remotely Rendering Content on Connected Devices on the Home Network includes the following activities: a) Causing, on application request, the Remote Rendering of a Content resource on any Connected Device that is capable of Rendering Content resources of that type. b) Controlling, on application request, the Remote Rendering of a Content resource, including pause and skip functions. CableLabs® 15
  26. 26. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification 6.6 Permissions The Java security model includes the means to restrict access to an API and to applications that have been requested and granted specific permissions. However, security and permissions added by the recording and storage APIs cannot be conveyed across a Home Network because information such as orgId and extended file permissions might not be conveyed by the device Discovery protocol supported by the OCAP Home Network Implementation. To compensate, the HomeNetPermission class is defined as part of the OCAP Home Networking Extensions specification (see Annex A) to grant playback access to remote recordings, and remote LogicalStorageVolume instances are given default access permission of org.ocap.storage.ExtendedFileAccessPermission.readWorldAccessRight [2], [13] only. This implies: (1) HomeNetPermission over-rides orgId access for playback, as passed to the recording API; (2) recordings and LogicalStorageVolume instances that were not set with readWorldAccessRight by the owner application, will not be accessible via the Home Network by any application. Therefore, when an application creates Content directory listings from remote recordings, directories, and files, only those items set with readWorldAccessRight will appear in the listings. Implementations SHALL NOT include items in such listings that do not have readWorldAccessRight. Since HomeNetPermission over-rides orgId access for playback, OCAP Home Network Application developers are encouraged to grant HomeNetPermission only when absolutely necessary. 6.6.1 Unsigned Applications Unsigned applications SHALL NOT be granted access to a Home Network via the HN API in the org.ocap.hn name space. 6.6.2 Signed Application Signed applications MAY perform home networking actions, via the OCAP Home Networking API, in the org.ocap.hn name space. Some of the method calls in the OCAP Home Networking API require org.ocap.hn.HomeNetPermission, which MUST be provided by the applications permission request file. See Section 7.1, Home Network Permission. 6.6.3 Monitor Applications There is no MonitorAppPermission for home networking. However, HomeNetPermission provides powerful capabilities and should only be granted to the most trusted of applications, such as a monitor application. 6.7 OCAP Home Networking API The OCAP Home Network Platform extends the OCAP-J API defined in OCAP 1.0 [2]. The additional packages, classes, and interfaces are listed here. For a complete definition and description of the APIs, see Annexes A through E. An implementation of the OCAP Home Network Platform SHALL include all of the packages, classes, and interfaces defined in OCAP 1.0 [2], as well as the following packages, classes, and interfaces. 16 CableLabs®
  27. 27. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 6.7.1 Additions to OCAP 1.0 Packages The OCAP Home Network Platform adds no Java interfaces and classes to packages defined in OCAP 1.0 [2]. 6.7.2 OCAP Home Networking Packages The following packages are defined by the OCAP Home Network Platform: org.ocap.hn org.ocap.hn.content org.ocap.hn.content.navigation org.ocap.hn.services org.ocap.hn.util These packages are described in Annexes A through E. CableLabs® 17
  28. 28. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification This page intentionally left blank. 18 CableLabs®
  29. 29. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 7 Security The OCAP Home Network Platform may not be permitted to share all digital entertainment Content that is stored on the OpenCable Host device or other Connected Devices. Content can only be shared according to CCI bits, as defined in the OpenCable Host 2.0 specification [3]. OCAP Home Networking API methods, which cause Content to be streamed or moved to a remote device, SHALL fail if the request violates copy protection signaling, or other security requirements imposed by OpenCable security specifications. These security aspects are transparent to applications and the OCAP Home Networking API does not provide methods for application access and control of them. 7.1 Home Network Permission In addition to device authorizations, this specification defines the org.ocap.hn.HomeNetPermission class. This class can be used to grant permissions for various OCAP Home Networking API methods. See the Annexes containing APIs for method details where SecurityException can be thrown. For granting purposes, the HomeNetPermission is added to the permission request file (PRF) of an application. Referring to the PRF DTD definition given in OCAP 1.0 [2], Section 14.2.2.1.1, this specification modifies the permissionrequestfile ELEMENT and adds the ocap:homenetpermission as follows: <!ELEMENT permissionrequestfile (file?, capermission?, applifecyclecontrol?, returnchannel?, tuning?, servicesel?, userpreferences?, network?, dripfeed?, persistentfilecredential*, ocap:monitorapplication*, ocap:servicetypepermission*, ocap:homenetpermission*)> The ocap:homenetpermission ELEMENT SHALL be added after the ocap:servicetypepermission in the PRF as follows: <!ELEMENT ocap:homenetpermission EMPTY> <!ATTLIST ocap:homenetpermission ocap:type (contentmanagement | volumemanagement | remoterendering | contentlisting) ocap:value (true | false) "false" > CableLabs® 19
  30. 30. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification This page intentionally left blank. 20 CableLabs®
  31. 31. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 8 Minimum Platform Capabilities The OCAP Home Network platform SHALL implement the OpenCable Host 2.0 specification [3], with Home Networking Extension to be defined. CableLabs® 21
  32. 32. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification This page intentionally left blank. 22 CableLabs®
  33. 33. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 Annex A org.ocap.hn This annex presents the org.ocap.hn APIs. Package org.ocap.hn Class Summary Interfaces ContentManagementModul This interface represents a NetModule that provides content management capabilities e for the purposes of network copying, moving, deleting, and renaming directories, files, or all components of a recorded service. ContentServer Class representing a NetModule which serves content, for example, a UPnP CDS - Content Directory Service. Device The Device interface represents a Homenetwork device that supports homenetwork NetModules. NetActionHandler This interface represents a handler passed to asynchronous methods NetActionRequest All asynchronous actions in the Home networking API return an ActionRequest. NetList A list comprising of homenetwork elements such as Device or NetModule. NetModule NetModule is an abstraction of functionality that is provided by a Device. NetModuleChangeListene NetModuleChange callback interface. r NetModuleEventListener NetModuleEvent callback interface. RemoteMediaRendererMod This interface provides management for Remote Media Renderer capabilities for the ule purposes of streaming content between servers and renderers on the home network. RemoteMediaStorage This interface represents a Home Networking Module that contains one or more MediaStorageVolumes RemoteNetModule RemoteRecordingManager This interface represents a Home Networking Module that provides scheduled recording service on a remote DVR device. RemoteRecordingResourc This interface represents a group of resources required to perform a recording requested eUsage by an application running on a remote device. RemoteResourceUsage This interface represents a group of resources required to perform an action requested by an application running on a remote device. RemoteTimeShiftManager This interface represents a Home Networking Module that contains one or more TimeShift buffers. RemoteTimeShiftResourc This interface represents a group of resources required to perform a time-shifting eUsage request initiated by an application running on a remote device. Classes A org.ocap.hn CableLabs® 23
  34. 34. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification Class Summary HomeNetPermission The HomeNetPermission class represents permission to execute privileged home networking operations only signed applications MAY be granted. NetActionEvent This class represents an event generated in response to an action. NetManager The NetManager is a singleton class that registers all the Devices and NetModules within a home network. NetModuleChangeEvent Entity for NetModuleChange event. NetModuleEvent Entity for NetModule Event. PropertyFilter The filter for (key,value) pair filtering mechanism. Exceptions NotAuthorizedException Exception indicating that the application has no permission to perform certain action. 24 CableLabs® A org.ocap.hn
  35. 35. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 org.ocap.hn ContentManagementModule Declaration public interface ContentManagementModule extends NetModule All Superinterfaces: NetModule Description This interface represents a NetModule that provides content management capabilities for the purposes of network copying, moving, deleting, and renaming directories, files, or all components of a recorded service. All methods in this interface are asynchronous. The implementation SHALL generate an NetActionEvent when an asynchronous method completes or times out. Time outs are implementation specific. Each event SHALL contain an event type defined in NetActionEvent. Member Summary Methods NetActionRequest copy(javax.tv.locator.Locator source, javax.tv.locator.Locator dest, NetActionHandler handler) Copies a file or a recorded service from one device to another. NetActionRequest delete(javax.tv.locator.Locator target, NetActionHandler handler) Deletes a file or a recorded service on a remote device. NetActionRequest move(javax.tv.locator.Locator source, javax.tv.locator.Locator dest, NetActionHandler handler) Moves a file or a recorded service from one device to another. Methods copy(Locator, Locator, NetActionHandler) public org.ocap.hn.NetActionRequest copy(javax.tv.locator.Locator source, javax.tv.locator.Locator dest, org.ocap.hn.NetActionHandler handler) throws SecurityException Copies a file or a recorded service from one device to another. Possible action item types that can be generated by this method include; NetActionEvent.COMPLETED, NetActionEvent.ERROR_TIMED_OUT, NetActionEvent.ERROR_INVALID_PARAMETER, and NetActionEvent.ERROR_UNAUTHORIZED. Addresses following requirements: Parameters: source - Location where the item is to be copied from. dest - Location where the item is to be copied to. A org.ocap.hn CableLabs® 25
  36. 36. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification handler - Action response will be notified to this handler. Returns: Action request for app query and control of a pending transaction. Throws: java.lang.SecurityException - if the application does not have HomeNetPermission(“contentmanagement”) permission in its permission request file, or if the application does not have ExtendedFileAccessPermission for reading from the source or writing to the destination. java.lang.IllegalArgumentException - if the source or destination locators are not valid. delete(Locator, NetActionHandler) public org.ocap.hn.NetActionRequest delete(javax.tv.locator.Locator target, org.ocap.hn.NetActionHandler handler) throws SecurityException Deletes a file or a recorded service on a remote device. Possible action event types that can be generated by this method include; NetActionEvent.COMPLETED, NetActionEvent.ERROR_TIMED_OUT, NetActionEvent.ERROR_INVALID_PARAMETER, and NetActionEvent.ERROR_UNAUTHORIZED. Parameters: target - Location of the item is to be deleted. handler - Action response will be notified to this handler. Returns: Action request for app query and control of a pending transaction. Throws: java.lang.SecurityException - if the application does not have HomeNetPermission(“contentmanagement”) permission in its permission request file, or if the application does not have ExtendedFileAccessPermission for writing to the target. java.lang.IllegalArgumentException - if the target locator is not valid. move(Locator, Locator, NetActionHandler) public org.ocap.hn.NetActionRequest move(javax.tv.locator.Locator source, javax.tv.locator.Locator dest, org.ocap.hn.NetActionHandler handler) throws SecurityException Moves a file or a recorded service from one device to another. Possible action event types that can be generated by this method include; NetActionEvent.COMPLETED, NetActionEvent.ERROR_TIMED_OUT, NetActionEvent.ERROR_INVALID_PARAMETER, and NetActionEvent.ERROR_UNAUTHORIZED. Parameters: source - Location where the item is to be moved from. dest - Location where the item is to be moved to. handler - Action response will be notified to this handler. Returns: Action request for app query and control of a pending transaction. 26 CableLabs® A org.ocap.hn
  37. 37. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 Throws: java.lang.SecurityException - if the application does not have HomeNetPermission(“contentmanagement”) permission in its permission request file, or if the application does not have ExtendedFileAccessPermission for reading from the source or writing to the destination. java.lang.IllegalArgumentException - if the source or destination locators are not valid. A org.ocap.hn CableLabs® 27
  38. 38. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification org.ocap.hn ContentServer Declaration public interface ContentServer extends NetModule All Superinterfaces: NetModule Description Class representing a NetModule which serves content, for example, a UPnP CDS - Content Directory Service. Member Summary Methods Device getDevice() java.util.Enumeration getKeys() java.lang.String getName() java.lang.String getProperty(java.lang.String key) getRootContainer() org.ocap.hn.content.Co ntentContainer void subscribe(NetModuleEventListener listener) void unsubscribe(NetModuleEventListener listener) Methods getDevice() public org.ocap.hn.Device getDevice() Description copied from interface: org.ocap.hn.NetModule Returns the device that provides this NetModule. Overrides: getDevice in interface NetModule getKeys() public java.util.Enumeration getKeys() Description copied from interface: org.ocap.hn.NetModule Returns the property keys supported by this NetModule. Overrides: getKeys in interface NetModule 28 CableLabs® A org.ocap.hn
  39. 39. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 getName() public java.lang.String getName() getProperty(String) public java.lang.String getProperty(java.lang.String key) Description copied from interface: org.ocap.hn.NetModule Returns the property value for specified key. Overrides: getProperty in interface NetModule getRootContainer() public org.ocap.hn.content.ContentContainer getRootContainer() subscribe(NetModuleEventListener) public void subscribe(org.ocap.hn.NetModuleEventListener listener) Description copied from interface: org.ocap.hn.NetModule Subscribes to the event of this NetModule. When NetModule status change (version change, internal states change), NetModule listeners will be notified. If listener has already been registered, then no action is performed. Overrides: subscribe in interface NetModule unsubscribe(NetModuleEventListener) public void unsubscribe(org.ocap.hn.NetModuleEventListener listener) Description copied from interface: org.ocap.hn.NetModule Unsubscribe to the event of this NetModule. If listener is not registered yet, then no action is performed. Overrides: unsubscribe in interface NetModule A org.ocap.hn CableLabs® 29
  40. 40. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification org.ocap.hn Device Declaration public interface Device Description The Device interface represents a Homenetwork device that supports homenetwork NetModules. A Device is a hierarchical structure with root device being the physical appliance, such as an OCAP_Terminal or an OCAP_HOST. The valid device types for an OCAP root device are OCAP_HOST and OCAP_Terminal. A root device may contain a number of sub-devices. Each sub-device may support one or more NetModule(s) whereas each NetModule only represents one sub-device. A NetModule is some functional unit in the device and examples of NetModules are ContentList, ContentManager, etc. A device may also have certain capabilities and properties associated with it. An application can retrieve these capabilities and properties by using property filters Member Summary Fields static CAP_REMOTE_STORAGE_SUPPORTED java.lang.String A constant indicating remote storage capability. static CAP_STREAMING_SUPPORTED java.lang.String A constant indicating streaming capability of the device. static CAP_TUNER_SUPPORTED java.lang.String A constant indicating if the device has a tuner. static PROP_FRIENDLY_NAME java.lang.String A constant for a friendly name of the device. static PROP_LOCATION java.lang.String A constant indicates device property: location of the device. static PROP_MANUFACTURER java.lang.String A constant indicating the manufacturer of this device. static PROP_MANUFACTURER_URL java.lang.String A constant providing URL to the manufacturer’s web site. static PROP_MIDDLEWARE_PROFILE java.lang.String A constant indicates device property: middleware profile. static PROP_MIDDLEWARE_VERSION java.lang.String A constant indicates device property: middleware version. static PROP_MODEL_DESCRIPTION java.lang.String A constant providing description of the device. static PROP_MODEL_NAME java.lang.String A constant indicates device property: model name. static PROP_MODEL_NUMBER java.lang.String A constant indicates device property: model number. static PROP_MODEL_URL java.lang.String A constant indicates device property: model URL. static PROP_PRESENTATION_URL java.lang.String A constant indicates device property: presentation URL. static PROP_SERIAL_NUMBER java.lang.String A constant indicates device property: serial number. 30 CableLabs® A org.ocap.hn
  41. 41. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 Member Summary static PROP_UDN java.lang.String A constant indicates device property: unique device name. static PROP_UPC java.lang.String A constant indicates device property: universal product code. static TYPE_BINARY_LIGHT java.lang.String A constant indicates device type: Binary Light (on/off). static TYPE_DIMMABLE_LIGHT java.lang.String A constant indicates device type: Dimmable Light (light intensity control). static TYPE_HVAC_SYSTEM java.lang.String A constant indicates device type: Heater-Vent-Air Conditioning System. static TYPE_HVAC_ZONE_THERMOSTAT java.lang.String A constant indicates device type: Heater-Vent-Air Conditioning Thermostat. static TYPE_INTERNET_GATEWAY_DEVICE java.lang.String A constant indicates device type: Internet gateway device. static TYPE_LAN_DEVICE java.lang.String A constant indicates device type: LAN device. static TYPE_MEDIA_RENDERER java.lang.String A constant indicates device type: Media Renderer. static TYPE_MEDIA_SERVER java.lang.String A constant indicates device type: Media Server. static TYPE_OCAP_HOST java.lang.String A constant indicates device type: OCAP Host. static TYPE_OCAP_TERMINAL java.lang.String A constant indicates device type: OCAP terminal. static TYPE_PRINTER java.lang.String A constant indicates device type: Printer. static TYPE_REMOTE_UI_CLIENT_DEVICE java.lang.String A constant indicates device type: Remote UI Client Device, Allows for basic operations on a Remote UI client including: user interface connection management, optionally user interface availability management and optionally basic user interaction. static TYPE_REMOTE_UI_SERVER_DEVICE java.lang.String A constant indicates device type: Remote UI Server Device. static TYPE_SCANNER java.lang.String A constant indicates device type: Scanner. static TYPE_WAN_CONNECTION_DEVICE java.lang.String A constant indicates device type: WAN connection device. static TYPE_WAN_DEVICE java.lang.String A constant indicates device type: WAN device. static TYPE_WLAN_ACCESS_POINT_DEVICE java.lang.String A constant indicates device type: WAN access point device. Methods java.util.Enumeration getCapabilities() Returns capabilities of this device in Enumeration. java.util.Enumeration getKeys() Returns all property keys supported by this device in Enumeration. java.lang.String getName() Returns the name of this device. NetModule getNetModule(java.lang.String moduleId) Returns the NetModule by module id. NetList getNetModuleList() Returns the list of NetModules supported by this device. java.lang.String getProperty(java.lang.String key) Returns property of this device specified by a key. A org.ocap.hn CableLabs® 31
  42. 42. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification Member Summary NetList getSubDevices() Returns a list of sub devices hosted by this device. int getType() Returns the type of this device, for example, MediaRenderer, MediaServer, etc. Fields CAP_REMOTE_STORAGE_SUPPORTED public static final java.lang.String CAP_REMOTE_STORAGE_SUPPORTED A constant indicating remote storage capability. CAP_STREAMING_SUPPORTED public static final java.lang.String CAP_STREAMING_SUPPORTED A constant indicating streaming capability of the device. CAP_TUNER_SUPPORTED public static final java.lang.String CAP_TUNER_SUPPORTED A constant indicating if the device has a tuner. PROP_FRIENDLY_NAME public static final java.lang.String PROP_FRIENDLY_NAME A constant for a friendly name of the device. PROP_LOCATION public static final java.lang.String PROP_LOCATION A constant indicates device property: location of the device. PROP_MANUFACTURER public static final java.lang.String PROP_MANUFACTURER A constant indicating the manufacturer of this device. PROP_MANUFACTURER_URL public static final java.lang.String PROP_MANUFACTURER_URL A constant providing URL to the manufacturer’s web site. PROP_MIDDLEWARE_PROFILE public static final java.lang.String PROP_MIDDLEWARE_PROFILE A constant indicates device property: middleware profile. 32 CableLabs® A org.ocap.hn
  43. 43. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 PROP_MIDDLEWARE_VERSION public static final java.lang.String PROP_MIDDLEWARE_VERSION A constant indicates device property: middleware version. PROP_MODEL_DESCRIPTION public static final java.lang.String PROP_MODEL_DESCRIPTION A constant providing description of the device. PROP_MODEL_NAME public static final java.lang.String PROP_MODEL_NAME A constant indicates device property: model name. PROP_MODEL_NUMBER public static final java.lang.String PROP_MODEL_NUMBER A constant indicates device property: model number. PROP_MODEL_URL public static final java.lang.String PROP_MODEL_URL A constant indicates device property: model URL. PROP_PRESENTATION_URL public static final java.lang.String PROP_PRESENTATION_URL A constant indicates device property: presentation URL. PROP_SERIAL_NUMBER public static final java.lang.String PROP_SERIAL_NUMBER A constant indicates device property: serial number. PROP_UDN public static final java.lang.String PROP_UDN A constant indicates device property: unique device name. PROP_UPC public static final java.lang.String PROP_UPC A constant indicates device property: universal product code. TYPE_BINARY_LIGHT public static final java.lang.String TYPE_BINARY_LIGHT A constant indicates device type: Binary Light (on/off). A org.ocap.hn CableLabs® 33
  44. 44. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification TYPE_DIMMABLE_LIGHT public static final java.lang.String TYPE_DIMMABLE_LIGHT A constant indicates device type: Dimmable Light (light intensity control). TYPE_HVAC_SYSTEM public static final java.lang.String TYPE_HVAC_SYSTEM A constant indicates device type: Heater-Vent-Air Conditioning System. TYPE_HVAC_ZONE_THERMOSTAT public static final java.lang.String TYPE_HVAC_ZONE_THERMOSTAT A constant indicates device type: Heater-Vent-Air Conditioning Thermostat. TYPE_INTERNET_GATEWAY_DEVICE public static final java.lang.String TYPE_INTERNET_GATEWAY_DEVICE A constant indicates device type: Internet gateway device. TYPE_LAN_DEVICE public static final java.lang.String TYPE_LAN_DEVICE A constant indicates device type: LAN device. TYPE_MEDIA_RENDERER public static final java.lang.String TYPE_MEDIA_RENDERER A constant indicates device type: Media Renderer. TYPE_MEDIA_SERVER public static final java.lang.String TYPE_MEDIA_SERVER A constant indicates device type: Media Server. TYPE_OCAP_HOST public static final java.lang.String TYPE_OCAP_HOST A constant indicates device type: OCAP Host. TYPE_OCAP_TERMINAL public static final java.lang.String TYPE_OCAP_TERMINAL A constant indicates device type: OCAP terminal. TYPE_PRINTER public static final java.lang.String TYPE_PRINTER A constant indicates device type: Printer. 34 CableLabs® A org.ocap.hn
  45. 45. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 TYPE_REMOTE_UI_CLIENT_DEVICE public static final java.lang.String TYPE_REMOTE_UI_CLIENT_DEVICE A constant indicates device type: Remote UI Client Device, Allows for basic operations on a Remote UI client including: user interface connection management, optionally user interface availability management and optionally basic user interaction. TYPE_REMOTE_UI_SERVER_DEVICE public static final java.lang.String TYPE_REMOTE_UI_SERVER_DEVICE A constant indicates device type: Remote UI Server Device. See Also: TYPE_REMOTE_UI_CLIENT_DEVICE TYPE_SCANNER public static final java.lang.String TYPE_SCANNER A constant indicates device type: Scanner. TYPE_WAN_CONNECTION_DEVICE public static final java.lang.String TYPE_WAN_CONNECTION_DEVICE A constant indicates device type: WAN connection device. TYPE_WAN_DEVICE public static final java.lang.String TYPE_WAN_DEVICE A constant indicates device type: WAN device. TYPE_WLAN_ACCESS_POINT_DEVICE public static final java.lang.String TYPE_WLAN_ACCESS_POINT_DEVICE A constant indicates device type: WAN access point device. Methods getCapabilities() public java.util.Enumeration getCapabilities() Returns capabilities of this device in Enumeration. Capabilities are defined in Device. Returns: An enumeration of String objects representing capabilities of this device. getKeys() public java.util.Enumeration getKeys() Returns all property keys supported by this device in Enumeration. Returns: An enumeration of String objects representing all property keys supported by this device A org.ocap.hn CableLabs® 35
  46. 46. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification getName() public java.lang.String getName() Returns the name of this device. It is the responsibility of the implementation to assure that the device name is unique within a home network. The naming rule is proprietary. For example, “LivingRoom:OCAP_HOST1”. Returns: name of this device getNetModule(String) public org.ocap.hn.NetModule getNetModule(java.lang.String moduleId) Returns the NetModule by module id. Module id is unique within a device. Parameters: moduleId - unique id of a NetModule Returns: NetModule by id, if specified NetModule is not supported by this device, then null is returned. getNetModuleList() public org.ocap.hn.NetList getNetModuleList() Returns the list of NetModules supported by this device. Returns: NetList supported by this device getProperty(String) public java.lang.String getProperty(java.lang.String key) Returns property of this device specified by a key. Minimum supported keys are defined in Device, like PROP_MANUFACTURER, PROP_MODEL_NUMBER, etc. Parameters: key - key of the property Returns: property value specified by the key getSubDevices() public org.ocap.hn.NetList getSubDevices() Returns a list of sub devices hosted by this device. Returns: list of sub-devices. getType() public int getType() Returns the type of this device, for example, MediaRenderer, MediaServer, etc. All OCAP-HN device types are defined in Device. Returns: type of this device 36 CableLabs® A org.ocap.hn
  47. 47. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 org.ocap.hn HomeNetPermission Declaration public final class HomeNetPermission extends java.security.BasicPermission java.lang.Object | +--java.security.Permission | +--java.security.BasicPermission | +--org.ocap.hn.HomeNetPermission All Implemented Interfaces: java.security.Guard, java.io.Serializable Description The HomeNetPermission class represents permission to execute privileged home networking operations only signed applications MAY be granted. A HomeNetPermission consists of a permission name, representing a single privileged operation. The name given in the constructor may end in “.*” to represent all permissions beginning with the given string, such as “*” to allow all HomeNetPermission operations. The following table lists all HomeNetPermission permission names. Permission Name What the Permission Allows Description contentmanagement Provides management of local or remote This permission allows the caller to copy, move, delete content content as well as allocate and delete logical volumes on any network device. remoterendering Allows content rendering on remote devices Applications with this permission can stream content from one home network device to another and cause it to be rendered on the destination device. contentlisting Provides listing of content on remote devices Applications with this permission can discover and query lists of content stored on or streamable from remote devices. Other permissions may be added as necessary. Member Summary Constructors HomeNetPermission(java.lang.String name) Constructor for the HomeNetPermission A org.ocap.hn CableLabs® 37
  48. 48. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification Constructors HomeNetPermission(String) public HomeNetPermission(java.lang.String name) Constructor for the HomeNetPermission Parameters: name - The name of this permission (see table in class description). 38 CableLabs® A org.ocap.hn
  49. 49. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 org.ocap.hn NetActionEvent Declaration public class NetActionEvent extends java.util.EventObject java.lang.Object | +--java.util.EventObject | +--org.ocap.hn.NetActionEvent All Implemented Interfaces: java.io.Serializable Description This class represents an event generated in response to an action. NetActionEvent instances can only be created by the implementation. Renamed to NetActionEvent as there is already an ActionEvent in java.awt.event Member Summary Fields static int ACTION_CANCELED ACTION_CANCELED is returned by getActionStatus() when the action has been canceled. static int ACTION_COMPLETED Action status for a completed action static int ACTION_FAILED ACTION_FAILED is returned by getActionStatus() when the action has failed. static int ACTION_NEEDS_MORE_TIME ACTION_NEEDS_MORE_TIME is returned by getActionStatus() when the action needs more time to complete. static int ERROR_INVALID_PARAMETER Error code returned when an action was created with invalid parameters. static int ERROR_TIMED_OUT Error code returned when the operation timed out. static int ERROR_UNAUTHORIZED Error code returned when the requested action couldn’t be executed because of missing permissions. Constructors protected NetActionEvent(java.lang.Object source, NetActionRequest request, java.lang.Object response) Two argument constructor. Methods NetActionRequest getActionRequest() Returns the ActionRequest which identifies the action instance int getActionStatus() Returns the state of the requested action A org.ocap.hn CableLabs® 39
  50. 50. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification Member Summary java.lang.Object getResponse() Returns the response of the Action. Fields ACTION_CANCELED public static final int ACTION_CANCELED ACTION_CANCELED is returned by getActionStatus() when the action has been canceled. See Also: getActionStatus() ACTION_COMPLETED public static final int ACTION_COMPLETED Action status for a completed action See Also: getActionStatus() ACTION_FAILED public static final int ACTION_FAILED ACTION_FAILED is returned by getActionStatus() when the action has failed. See Also: getActionStatus() ACTION_NEEDS_MORE_TIME public static final int ACTION_NEEDS_MORE_TIME ACTION_NEEDS_MORE_TIME is returned by getActionStatus() when the action needs more time to complete. This event should be sent after 15 seconds to indicate that the action is still executed but might need more time. It is up to the application to cancel the action or wait. See Also: getActionStatus() ERROR_INVALID_PARAMETER public static final int ERROR_INVALID_PARAMETER Error code returned when an action was created with invalid parameters. ERROR_TIMED_OUT public static final int ERROR_TIMED_OUT Error code returned when the operation timed out. ERROR_UNAUTHORIZED public static final int ERROR_UNAUTHORIZED Error code returned when the requested action couldn’t be executed because of missing permissions. 40 CableLabs® A org.ocap.hn
  51. 51. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 Constructors NetActionEvent(Object, NetActionRequest, Object) protected NetActionEvent(java.lang.Object source, org.ocap.hn.NetActionRequest request, java.lang.Object response) Two argument constructor. Parameters: source - - Action that instigated the response.response - An object representing the response to the action and which is specific to the action. Methods getActionRequest() public org.ocap.hn.NetActionRequest getActionRequest() Returns the ActionRequest which identifies the action instance Returns: the ActionRequest getActionStatus() public int getActionStatus() Returns the state of the requested action Returns: See Also: ACTION_CANCELED, ACTION_COMPLETED, ACTION_FAILED, ACTION_NEEDS_MORE_TIME getResponse() public java.lang.Object getResponse() Returns the response of the Action. Object is dependent on the Action. Returns: The response to an asynchronous action. A org.ocap.hn CableLabs® 41
  52. 52. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification org.ocap.hn NetActionHandler Declaration public interface NetActionHandler Description This interface represents a handler passed to asynchronous methods Member Summary Methods void notify(NetActionEvent event) Notifies the application of an action event. Methods notify(NetActionEvent) public void notify(org.ocap.hn.NetActionEvent event) Notifies the application of an action event. This method is called by the implementation when a response to an action or a failure for the action is detected. 42 CableLabs® A org.ocap.hn
  53. 53. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 org.ocap.hn NetActionRequest Declaration public interface NetActionRequest Description All asynchronous actions in the Home networking API return an ActionRequest. The ActionRequest can be used a) to cancel any pending action or, b) to identify which Action got completed. See Also: NetActionHandler, NetActionEvent Member Summary Fields static int ACTION_COMPLETED Comment for ACTION_COMPLETED static int ACTION_FAILED Comment for ACTION_FAILED static int ACTION_PENDING Comment for ACTION_PENDING Methods boolean cancel() Cancels the Action associated with this ActionRequest. int getActionStatus() Returns the current status of the requested action float getProgress() Returns the progress of the action in percent (0.0 - 1.0). Fields ACTION_COMPLETED public static final int ACTION_COMPLETED Comment for ACTION_COMPLETED ACTION_FAILED public static final int ACTION_FAILED Comment for ACTION_FAILED ACTION_PENDING public static final int ACTION_PENDING Comment for ACTION_PENDING A org.ocap.hn CableLabs® 43
  54. 54. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification Methods cancel() public boolean cancel() Cancels the Action associated with this ActionRequest. Returns false if the action can’t be canceled. Returns: false if action can’t be canceled. getActionStatus() public int getActionStatus() Returns the current status of the requested action Returns: the current action status getProgress() public float getProgress() Returns the progress of the action in percent (0.0 - 1.0). If the progress of an action can’t be determined, -1.0 shall be returned. Returns: the progress of the action (0.0 - 1.0) or -1.0 if the progress can’t be determined. 44 CableLabs® A org.ocap.hn
  55. 55. OCAP Home Networking OC-SP-OCAP-HNEXT1.0-I01-050519 org.ocap.hn NetList Declaration public interface NetList Description A list comprising of homenetwork elements such as Device or NetModule. The application may retrieve such a list from NetManager, getNetModules * or getDevices. The application may refine the list by applying a PropertyFilter . Member Summary Methods boolean contains(java.lang.Object element) Indicates whether an element is included in this NetList. NetList filterElement(PropertyFilter filter) Applies a new PropertyFilter to this element list and returns a new list. java.lang.Object getElement(int index) Returns the element indexed by a number. java.util.Enumeration getElements() Returns all elements in this NetList in Enumeration. int indexOf(java.lang.Object element) Returns the index of an element in this element list. int size() Returns the size of this list. Methods contains(Object) public boolean contains(java.lang.Object element) Indicates whether an element is included in this NetList. Parameters: element - the element to check wether it is in the list Returns: true if the element is in the list; otherwise false. filterElement(PropertyFilter) public org.ocap.hn.NetList filterElement(org.ocap.hn.PropertyFilter filter) Applies a new PropertyFilter to this element list and returns a new list. Parameters: filter - new filter Returns: new element list generated by new filter A org.ocap.hn CableLabs® 45
  56. 56. OC-SP-OCAP-HNEXT1.0-I01-050519 OpenCable™ Application Platform Specification See Also: PropertyFilter getElement(int) public java.lang.Object getElement(int index) Returns the element indexed by a number. Parameters: index - specified index of the element Returns: element indexed by the number getElements() public java.util.Enumeration getElements() Returns all elements in this NetList in Enumeration. In Homenetwork, NetList can be used to retrieve a list of Devices or a list of NetModules. In either case, a corresponding type of object is returned. Returns: An enumeration of Device or NetModule elements indexOf(Object) public int indexOf(java.lang.Object element) Returns the index of an element in this element list. Parameters: element - to be checked Returns: index of an element in this list. If there is no such element in this list, returns -1. size() public int size() Returns the size of this list. Returns: size of the element list 46 CableLabs® A org.ocap.hn

×