1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 """interfaces used by flumotion
19 """
20
21 from zope import interface
22
23 __version__ = "$Rev$"
24
25
26
27
28
30 """I am a base interface for PB client-side mediums interfacing with
31 manager-side avatars.
32 """
33
35 """Set the RemoteReference to the manager-side avatar.
36 @param remoteReference: L{twisted.spread.pb.RemoteReference}
37 """
38
40 """Check if we have a remote reference to the PB server's avatar.
41 @returns: True if we have a remote reference
42 """
43
45 """Call a method through the remote reference to the
46 manager-side avatar.
47 @param name: name of remote method
48 """
49
50
52 """I am an interface for component-side mediums interfacing
53 with server-side avatars.
54 """
55
56
58 """An interface for streaming components, for plugs that
59 require a streaming component of some sort to use.
60 """
61
63 """Return a URL that the streaming component is streaming.
64 """
65
67 """Return a description of the stream from this component.
68 """
69
70
72 """I am an interface for admin-side mediums interfacing with manager-side
73 avatars.
74 """
75
76
78 """I am an interface for worker-side mediums interfacing with manager-side
79 avatars.
80 """
81
82
84 """I am an interface for porter client mediums interfacing with the porter.
85 """
86
87
89 """I am an interface for job-side mediums interfacing with worker-side
90 avatars.
91 """
92
93
95 """I am an interface for mediums in a job or manager interfacing with feed
96 avatars.
97 """
98
99
100 -class IHeaven(interface.Interface):
101 """My implementors manage avatars logging in to the manager.
102 """
103
105 """Creates a new avatar matching the type of heaven.
106 @param avatarId:
107 @type avatarId: string
108 @returns: the avatar from the matching heaven for a new object.
109 """
110
112 """Remove the avatar with the given Id from the heaven.
113 """
114
115
117 """I am an interface for objects that manage a FeedServer, allowing the
118 FeedServer to hand off file descriptors to eaters and feeders managed
119 by the parent.
120 """
121
122 - def feedToFD(componentId, feedName, fd):
123 """Make the component feed the given feed to the fd.
124 @param componentId:
125 @param feedName: a feed name
126 @param fd: a file descriptor
127 """
128
129
130 -class IFile(interface.Interface):
131 """I am an interface representing a file and it's metadata.
132 """
133 filename = interface.Attribute('the name of the file')
134 iconNames = interface.Attribute("""icon names that should be used to
135 represent this file in a graphical interface""")
136
138 """Returns the complete path to the file, including
139 the filename itself.
140 @returns: the complete path to the file
141 @rtype: str
142 """
143
144
146 """I am an interface representing a directory and it's metadata.
147 I extend the IFile interface.
148 To list files of a certain directory you first need to call
149 L{flumotion.common.vfs.listDirectory}, which will return
150 an object implementing this interface.
151 """
152
154 """Fetches all the files in the directory specified.
155 @returns: list of files
156 @rtype: a deferred firing a list of objects implementing L{IFile}.
157 """
158