aboutsummaryrefslogtreecommitdiff
path: root/Foundation/GTMLightweightProxy.h
diff options
context:
space:
mode:
authorGravatar thomasvl@gmail.com <thomasvl@gmail.com@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2008-11-17 21:30:25 +0000
committerGravatar thomasvl@gmail.com <thomasvl@gmail.com@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2008-11-17 21:30:25 +0000
commit6fdb9dfef2c10696fc38a3ad860e014782b7d698 (patch)
tree0869bd773375520a3238a6885f9a6662b860d26b /Foundation/GTMLightweightProxy.h
parent8ddb49cefd01b220ad5e1d2f0060b2a0ad54efdb (diff)
- Added GTMLightweightProxy
- Added installer for the spotlight importers.
Diffstat (limited to 'Foundation/GTMLightweightProxy.h')
-rw-r--r--Foundation/GTMLightweightProxy.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/Foundation/GTMLightweightProxy.h b/Foundation/GTMLightweightProxy.h
new file mode 100644
index 0000000..2e2a748
--- /dev/null
+++ b/Foundation/GTMLightweightProxy.h
@@ -0,0 +1,46 @@
+//
+// GTMLightweightProxy.h
+//
+// Copyright 2006-2008 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License"); you may not
+// use this file except in compliance with the License. You may obtain a copy
+// of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+// License for the specific language governing permissions and limitations under
+// the License.
+//
+
+#import <Foundation/Foundation.h>
+
+//
+// GTMLightweightProxy
+//
+// An object which does nothing but stand in for another object and forward
+// messages (other than basic NSObject messages) to it, suitable for breaking
+// retain cycles. It does *not* retain the represented object, so the
+// represented object must be set to nil when that object is deallocated.
+//
+// Messages sent to a GTMLightweightProxy with no represented object set will
+// be silently discarded.
+//
+@interface GTMLightweightProxy : NSProxy {
+ @private
+ __weak id representedObject_;
+}
+
+// Initializes the object to represent |object|.
+- (id)initWithRepresentedObject:(id)object;
+
+// Gets the object that the proxy represents.
+- (id)representedObject;
+
+// Changes the proxy to represent |object|
+- (void)setRepresentedObject:(id)object;
+
+@end