background image
DSM­CC P
ROTOCOLS
 
AND
 I
NTERFACES
As revised 2006.05.04
Bionic Buffalo Tech Note #55 
Security: 
Unrestricted
When a 
Stream
 object is downloaded to the client from a carousel, the downloaded object is 
implemented on the client, but supports only a limited subset of the defined operations. The downloaded 
object state consists of references (taps) describing the network address of a broadcast program. No 
interactive playback support is provided. 
12.  Abstract Interfaces 
Some interfaces described in DSM­CC are abstract and not instantiable. In other words, they can be 
inherited by other DSM­CC interfaces, but an object with such an interface alone never exists. 
DSM::Access
 defines attributes which provides size, update time and date, lock status, and a mask of 
which user groups have manager, broker, writer, or reader access to an object. Most instantiable DSM­
CC interfaces inherit 
DSM::Access
DSM::Base
 provides two operations: 
destroy()
 and 
close()
, for the destruction of objects and 
for the release of references. Most instantiable DSM­CC interfaces inherit 
DSM::Base
DSM::Composite
 allows a set of child objects to be associated with a given (parent) object; the 
parent object inherits the 
DSM::Composite
 interface. A version is associated with each child object. 
The interface exists for the convenience of developers, and is not required by any part of the DSM­CC 
specification. 
DSM::Config
 is used to implement a form of asynchronous operation call on the object which inherits 
the 
Config
 interface. An attribute 
DeferredSync
 is used to switch the operation calls between 
synchronous and asynchronous mode. In asynchronous mode, calls immediately return a request handle 
from the stub, without waiting for the operation to complete. With the 
inquire()
 operation, the 
request handle may be used to check status. With the 
wait()
 operation, the handle may be used later to 
wait for operation completion. 
DSM::Event
 may be inherited by DSM::Stream. It is by an application to intercept event information 
embedded in the content stream. The 
subscribe()
 operation subscribes to an event, while 
unsubscribe()
 cancels a subscription. The 
notify()
 operation blocks, not returning until one of 
the subscribed events has been received. 
DSM::First
 may be inherited by a 
DSM::Session
 object. It provides two operations: 
root()
 to 
obtain the 
ServiceGateway
 reference, and 
service()
 to obtain a reference to the primary service 
object. 
DSM::Kind
 may be inherited by any instantiable interface. It provides two operations: 
has_a()
 to 
determine if an object supports a given interface, and 
is_a()
 to list the interfaces supported by an 
object. 
Copyright 2006 Bionic Buffalo. All rights reserved.
File tn0055; Modified 2006­05­05 12:45:42
http://www.tatanka.com/doc/technote/index.html
E­mail: query@tatanka.com
Page 17 of 20