/usr/share/GNUstep/Documentation/Developer/Base/Reference/NSDistributedNotificationCenter.gsdoc is in gnustep-base-doc 1.25.1-2ubuntu3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 | <?xml version="1.0"?>
<!DOCTYPE gsdoc PUBLIC "-//GNUstep//DTD gsdoc 1.0.4//EN" "http://www.gnustep.org/gsdoc-1_0_4.dtd">
<gsdoc base="NSDistributedNotificationCenter" up="Base">
<head>
<title>
NSDistributedNotificationCenter
class reference
</title>
<author name="Richard Frith-Macdonald">
<email address="richard@brainstorm.co.uk">
richard@brainstorm.co.uk
</email>
</author>
<copy>1998-2009 Free Software Foundation, Inc.</copy>
</head>
<body>
<front><contents /></front>
<chapter>
<heading>
Software documentation for the
NSDistributedNotificationCenter
class
</heading>
<class name="NSDistributedNotificationCenter" super="NSNotificationCenter" ovadd="10.0.0">
<declared>Foundation/NSDistributedNotificationCenter.h</declared>
<desc>
<p>
The <code>NSDistributedNotificationCenter</code>
provides a versatile yet simple mechanism for
objects in different processes to communicate
effectively while knowing very little about
each others' internals. <br /> A distributed
notification center acts much like a normal
notification center, but it handles
notifications on a machine-wide (or local
network wide) basis rather than just notifications
within a single process. Objects are able to
register themselves as observers for particular
notification names and objects, and they will
then receive notifications (including optional user
information consisting of a dictionary of
property-list objects) as they are posted.
</p>
<p>
Since posting of distributed notifications involves
inter-process (and sometimes inter-host)
communication, it is fundamentally slower
than normal notifications, and should be used
relatively sparingly. In order to help with
this, the
<code>NSDistributedNotificationCenter</code>
provides a notion of 'suspension', whereby a
center can be suspended causing notifications for
observers in the process where the center was
suspended to cease receiving notifications.
Observers can specify how notifications are to be
handled in this case (queued or discarded) and
posters can specify that particular notifications
are to be delivered immediately irrespective of
suspension.
</p>
<p>
Distributed notifications are mediated by a
server process which handles all notifications for a
particular center type. In GNUstep this process
is the <code>gdnc</code> tool, and when started without
special options, a gdnc process acts as the local
centre for the host it is running on. When started
with the <code>GSNetwork</code> user default set to
<code>YES</code>, the <code>gdnc</code> tool acts as
a local network wide server (you should only run one copy
of <code>gdnc</code> like this on your LAN). <br /> The
<code>gdnc</code> process should be started at
machine boot time, but GNUstep will attempt to
start it automatically if it can't find it.
</p>
<p>
MacOS-X currently defines only a notification
center for the local host. GNUstep also defines a
local network center which can be used from multiple
hosts. By default the system sends this to any gdnc
process it can find which is configured as a
network-wide server, but the
<code>GDNCHost</code> user default may be used to
specify a particular host to be contacted... this
may be of use where you wish to have logically separate
clusters of machines on a shared LAN.
</p>
</desc>
<ivariable type="NSRecursiveLock*" name="_centerLock" validity="protected" ovadd="10.0.0">
<desc>
<em>Warning</em> the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically <em>private</em>, it is
intended for internal use within the package, and
you should not use the variable in other code.
</desc>
</ivariable>
<ivariable type="id" name="_remote" validity="protected" ovadd="10.0.0">
<desc>
<em>Warning</em> the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically <em>private</em>, it is
intended for internal use within the package, and
you should not use the variable in other code.
</desc>
</ivariable>
<ivariable type="BOOL" name="_suspended" validity="protected" ovadd="10.0.0">
<desc>
<em>Warning</em> the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically <em>private</em>, it is
intended for internal use within the package, and
you should not use the variable in other code.
</desc>
</ivariable>
<ivariable type="NSString*" name="_type" validity="protected" ovadd="10.0.0">
<desc>
<em>Warning</em> the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically <em>private</em>, it is
intended for internal use within the package, and
you should not use the variable in other code.
</desc>
</ivariable>
<method type="id" factory="yes" ovadd="10.0.0">
<sel>defaultCenter</sel>
<desc>
Returns the default notification center... a shared
notification center for the local host. This
is simply a convenience method equivalent to calling
<ref type="method" id="+notificationCenterForType:">
+notificationCenterForType:
</ref>
with <code>NSLocalNotificationCenterType</code> as its
argument.
</desc>
</method>
<method type="NSDistributedNotificationCenter*" factory="yes" ovadd="10.0.0">
<sel>notificationCenterForType:</sel>
<arg type="NSString*">type</arg>
<desc>
Returns a notification center of the specified
<var>type</var>. <br /> The
<code>NSLocalNotificationCenterType</code> provides
a shared access to a notification center used by
processes on the local host which belong to the
current user. <br /> The
<code>GSPublicNotificationCenterType</code> provides
a shared access to a notification center used by
processes on the local host belonging to any
user. <br /> The
<code>GSNetworkNotificationCenterType</code>
provides a shared access to a notification center
used by processes on the local network. <br /> MacOS-X
supports only
<code>NSLocalNotificationCenterType</code>.
</desc>
</method>
<method type="void" ovadd="10.0.0">
<sel>addObserver:</sel>
<arg type="id">anObserver</arg>
<sel>selector:</sel>
<arg type="SEL">aSelector</arg>
<sel>name:</sel>
<arg type="NSString*">notificationName</arg>
<sel>object:</sel>
<arg type="NSString*">anObject</arg>
<desc>
Adds an observer to the receiver. Calls
<ref type="method" id="-addObserver:selector:name:object:suspensionBehavior:">-addObserver:selector:name:object:suspensionBehavior:</ref> with <code>NSNotificationSuspensionBehaviorCoalesce</code>.
</desc>
</method>
<method type="void" ovadd="10.0.0">
<sel>addObserver:</sel>
<arg type="id">anObserver</arg>
<sel>selector:</sel>
<arg type="SEL">aSelector</arg>
<sel>name:</sel>
<arg type="NSString*">notificationName</arg>
<sel>object:</sel>
<arg type="NSString*">anObject</arg>
<sel>suspensionBehavior:</sel>
<arg type="NSNotificationSuspensionBehavior">suspensionBehavior</arg>
<desc>
Adds an observer to the receiver. <br /> When a
notification matching
<var>notificationName</var> and <var>anObject</var>
is sent to the center, the object <var>anObserver</var>
is sent the message <var>aSelector</var> with the
notification info dictionary as its argument.
<br /> The <var>suspensionBehavior</var> governs how
the center deals with notifications when the process to
which the notification should be delivered is
suspended:
<deflist>
<term>
<code>
NSNotificationSuspensionBehaviorDrop
</code>
</term>
<desc>
Discards the notification if the observing
process is suspended.
</desc>
<term>
<code>
NSNotificationSuspensionBehaviorCoalesce
</code>
</term>
<desc>
Discards previously queued notifications when
the observing process is suspended, leaving only
the last notification posted in the queue. Delivers
this single notification when the process becomes
unsuspended.
</desc>
<term>
<code>
NSNotificationSuspensionBehaviorHold
</code>
</term>
<desc>
Queues notifications when the observing process
is suspended, delivering all the queued
notifications when the process becomes
unsuspended again.
</desc>
<term>
<code>
NSNotificationSuspensionBehaviorDeliverImmediately
</code>
</term>
<desc>
Deliver the notification immediately, even if
the destination process is suspended.
</desc>
</deflist>
</desc>
</method>
<method type="void" ovadd="10.0.0">
<sel>postNotification:</sel>
<arg type="NSNotification*">notification</arg>
<desc>
Posts the <var>notification</var> to the center using
postNotificationName:object:userInfo:deliverImmediately:
with the delivery flag set to <code>NO</code>.
</desc>
</method>
<method type="void" ovadd="10.0.0">
<sel>postNotificationName:</sel>
<arg type="NSString*">notificationName</arg>
<sel>object:</sel>
<arg type="NSString*">anObject</arg>
<desc>
Posts the <var>notificationName</var> and
<var>anObject</var> to the center using
postNotificationName:object:userInfo:deliverImmediately:
with the user info set to <code>nil</code> and the
delivery flag set to <code>NO</code>.
</desc>
</method>
<method type="void" ovadd="10.0.0">
<sel>postNotificationName:</sel>
<arg type="NSString*">notificationName</arg>
<sel>object:</sel>
<arg type="NSString*">anObject</arg>
<sel>userInfo:</sel>
<arg type="NSDictionary*">userInfo</arg>
<desc>
Posts the <var>notificationName</var>,
<var>anObject</var> and <var>userInfo</var> to the
center using
postNotificationName:object:userInfo:deliverImmediately:
with the delivery flag set to <code>NO</code>.
</desc>
</method>
<method type="void" ovadd="10.0.0">
<sel>postNotificationName:</sel>
<arg type="NSString*">notificationName</arg>
<sel>object:</sel>
<arg type="NSString*">anObject</arg>
<sel>userInfo:</sel>
<arg type="NSDictionary*">userInfo</arg>
<sel>deliverImmediately:</sel>
<arg type="BOOL">deliverImmediately</arg>
<desc>
The primitive notification posting method... <br /> The
<var>userInfo</var> dictionary may contain only
property-list objects. <br /> The
<var>deliverImmediately</var> flag specifies whether
the suspension state of the receiving process is to be
ignored.
</desc>
</method>
<method type="void" ovadd="10.0.0">
<sel>removeObserver:</sel>
<arg type="id">anObserver</arg>
<sel>name:</sel>
<arg type="NSString*">notificationName</arg>
<sel>object:</sel>
<arg type="NSString*">anObject</arg>
<desc>
Removes the observer from the center.
</desc>
</method>
<method type="void" ovadd="10.0.0">
<sel>setSuspended:</sel>
<arg type="BOOL">flag</arg>
<desc>
Sets the suspension state of the receiver... if the
receiver is suspended, it won't handle
notification until it is unsuspended again,
unless the notifications are posted to be delivered
immediately.
</desc>
</method>
<method type="BOOL" ovadd="10.0.0">
<sel>suspended</sel>
<desc>
Returns the current suspension state of the
receiver.
</desc>
</method>
</class>
</chapter>
</body>
</gsdoc>
|