Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

JRLog: Move to formal protocol for JRLogDestinationDO so I can use on…

…eway and bycopy type qualifiers. Thanks to Dave Dribin for pointing this out.
  • Loading branch information...
commit 053679d2e9b46339e5893a475d73ac29a652dc19 1 parent bda0e30
@rentzsch authored
View
11 JRLog.m
@@ -25,14 +25,14 @@
//
//
-@interface NSObject (JRLogDestinationDO)
-- (void)logWithDictionary:(NSDictionary*)dictionary_;
+@protocol JRLogDestinationDO
+- (oneway void)logWithDictionary:(bycopy NSDictionary*)dictionary_;
@end
@interface JRLogOutput : NSObject {
- NSString *sessionUUID;
- BOOL tryDO;
- id destination;
+ NSString *sessionUUID;
+ BOOL tryDO;
+ id<JRLogDestinationDO> destination;
}
+ (id)sharedOutput;
@end
@@ -88,7 +88,6 @@ - (void)logWithLevel:(JRLogLevel)callerLevel_
nil]];
NS_HANDLER
if ([[localException name] isEqualToString:NSObjectInaccessibleException]) {
- [destination release];
destination = nil;
} else {
[localException raise];
View
196 Saw/Saw.xcodeproj/wolf.mode1
@@ -185,168 +185,7 @@
<key>Notifications</key>
<array/>
<key>OpenEditors</key>
- <array>
- <dict>
- <key>Content</key>
- <dict>
- <key>PBXProjectModuleGUID</key>
- <string>79014E080B4E40190001C1C2</string>
- <key>PBXProjectModuleLabel</key>
- <string>CoreData+JRExtensions.m</string>
- <key>PBXSplitModuleInNavigatorKey</key>
- <dict>
- <key>Split0</key>
- <dict>
- <key>PBXProjectModuleGUID</key>
- <string>79014E090B4E40190001C1C2</string>
- <key>PBXProjectModuleLabel</key>
- <string>CoreData+JRExtensions.m</string>
- <key>_historyCapacity</key>
- <integer>0</integer>
- <key>bookmark</key>
- <string>79014E0B0B4E40190001C1C2</string>
- <key>history</key>
- <array>
- <string>79014E0A0B4E40190001C1C2</string>
- </array>
- </dict>
- <key>SplitCount</key>
- <string>1</string>
- </dict>
- <key>StatusBarVisibility</key>
- <true/>
- </dict>
- <key>Geometry</key>
- <dict>
- <key>Frame</key>
- <string>{{0, 20}, {953, 668}}</string>
- <key>PBXModuleWindowStatusBarHidden2</key>
- <false/>
- <key>RubberWindowFrame</key>
- <string>107 256 953 709 0 0 2560 1578 </string>
- </dict>
- </dict>
- <dict>
- <key>Content</key>
- <dict>
- <key>PBXProjectModuleGUID</key>
- <string>79014E0C0B4E40190001C1C2</string>
- <key>PBXProjectModuleLabel</key>
- <string>SourceMO.m</string>
- <key>PBXSplitModuleInNavigatorKey</key>
- <dict>
- <key>Split0</key>
- <dict>
- <key>PBXProjectModuleGUID</key>
- <string>79014E0D0B4E40190001C1C2</string>
- <key>PBXProjectModuleLabel</key>
- <string>SourceMO.m</string>
- <key>_historyCapacity</key>
- <integer>0</integer>
- <key>bookmark</key>
- <string>79014E100B4E40190001C1C2</string>
- <key>history</key>
- <array>
- <string>79014E0E0B4E40190001C1C2</string>
- </array>
- </dict>
- <key>SplitCount</key>
- <string>1</string>
- </dict>
- <key>StatusBarVisibility</key>
- <true/>
- </dict>
- <key>Geometry</key>
- <dict>
- <key>Frame</key>
- <string>{{0, 20}, {953, 668}}</string>
- <key>PBXModuleWindowStatusBarHidden2</key>
- <false/>
- <key>RubberWindowFrame</key>
- <string>84 276 953 709 0 0 2560 1578 </string>
- </dict>
- </dict>
- <dict>
- <key>Content</key>
- <dict>
- <key>PBXProjectModuleGUID</key>
- <string>79014E120B4E40190001C1C2</string>
- <key>PBXProjectModuleLabel</key>
- <string>include.m</string>
- <key>PBXSplitModuleInNavigatorKey</key>
- <dict>
- <key>Split0</key>
- <dict>
- <key>PBXProjectModuleGUID</key>
- <string>79014E130B4E40190001C1C2</string>
- <key>PBXProjectModuleLabel</key>
- <string>include.m</string>
- <key>_historyCapacity</key>
- <integer>0</integer>
- <key>bookmark</key>
- <string>79014E140B4E40190001C1C2</string>
- <key>history</key>
- <array>
- <string>79014E010B4E26EC0001C1C2</string>
- </array>
- </dict>
- <key>SplitCount</key>
- <string>1</string>
- </dict>
- <key>StatusBarVisibility</key>
- <true/>
- </dict>
- <key>Geometry</key>
- <dict>
- <key>Frame</key>
- <string>{{0, 20}, {953, 668}}</string>
- <key>PBXModuleWindowStatusBarHidden2</key>
- <false/>
- <key>RubberWindowFrame</key>
- <string>61 295 953 709 0 0 2560 1578 </string>
- </dict>
- </dict>
- <dict>
- <key>Content</key>
- <dict>
- <key>PBXProjectModuleGUID</key>
- <string>79014E150B4E40190001C1C2</string>
- <key>PBXProjectModuleLabel</key>
- <string>Saw_DataModel.xcdatamodel</string>
- <key>PBXSplitModuleInNavigatorKey</key>
- <dict>
- <key>Split0</key>
- <dict>
- <key>PBXProjectModuleGUID</key>
- <string>79014E160B4E40190001C1C2</string>
- <key>PBXProjectModuleLabel</key>
- <string>Saw_DataModel.xcdatamodel</string>
- <key>_historyCapacity</key>
- <integer>0</integer>
- <key>bookmark</key>
- <string>79014E170B4E40190001C1C2</string>
- <key>history</key>
- <array>
- <string>79014E000B4E26A30001C1C2</string>
- </array>
- </dict>
- <key>SplitCount</key>
- <string>1</string>
- </dict>
- <key>StatusBarVisibility</key>
- <true/>
- </dict>
- <key>Geometry</key>
- <dict>
- <key>Frame</key>
- <string>{{0, 20}, {953, 668}}</string>
- <key>PBXModuleWindowStatusBarHidden2</key>
- <false/>
- <key>RubberWindowFrame</key>
- <string>443 304 953 709 0 0 2560 1578 </string>
- </dict>
- </dict>
- </array>
+ <array/>
<key>PerspectiveWidths</key>
<array>
<integer>-1</integer>
@@ -379,6 +218,8 @@
<key>Layout</key>
<array>
<dict>
+ <key>BecomeActive</key>
+ <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -422,8 +263,8 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>3</integer>
- <integer>1</integer>
+ <integer>8</integer>
+ <integer>4</integer>
<integer>0</integer>
</array>
</array>
@@ -447,7 +288,7 @@
<real>186</real>
</array>
<key>RubberWindowFrame</key>
- <string>92 437 690 397 0 0 2560 1578 </string>
+ <string>49 243 690 397 0 0 1680 1028 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -484,7 +325,7 @@
<key>Frame</key>
<string>{{0, 0}, {482, 0}}</string>
<key>RubberWindowFrame</key>
- <string>92 437 690 397 0 0 2560 1578 </string>
+ <string>49 243 690 397 0 0 1680 1028 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
@@ -504,7 +345,7 @@
<key>Frame</key>
<string>{{0, 5}, {482, 351}}</string>
<key>RubberWindowFrame</key>
- <string>92 437 690 397 0 0 2560 1578 </string>
+ <string>49 243 690 397 0 0 1680 1028 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -528,9 +369,9 @@
</array>
<key>TableOfContents</key>
<array>
- <string>79014E060B4E40190001C1C2</string>
+ <string>79874A790B507EA600AEDF1A</string>
<string>1CE0B1FE06471DED0097A5F4</string>
- <string>79014E070B4E40190001C1C2</string>
+ <string>79874A7A0B507EA600AEDF1A</string>
<string>1CE0B20306471E060097A5F4</string>
<string>1CE0B20506471E060097A5F4</string>
</array>
@@ -664,14 +505,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>79014E150B4E40190001C1C2</string>
- <string>79014E120B4E40190001C1C2</string>
- <string>79014E0C0B4E40190001C1C2</string>
- <string>79014E080B4E40190001C1C2</string>
+ <string>79A57E330B4BB7C700E50393</string>
<string>/Users/wolf/code/sf/redshed/cocoa/JRLog/Saw/Saw.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>92 437 690 397 0 0 2560 1578 </string>
+ <string>49 243 690 397 0 0 1680 1028 </string>
<key>WindowTools</key>
<array>
<dict>
@@ -701,7 +539,7 @@
<key>Frame</key>
<string>{{0, 0}, {500, 218}}</string>
<key>RubberWindowFrame</key>
- <string>49 157 500 500 0 0 1024 746 </string>
+ <string>110 321 500 500 0 0 1680 1028 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
@@ -709,6 +547,8 @@
<string>218pt</string>
</dict>
<dict>
+ <key>BecomeActive</key>
+ <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
@@ -725,7 +565,7 @@
<key>Frame</key>
<string>{{0, 223}, {500, 236}}</string>
<key>RubberWindowFrame</key>
- <string>49 157 500 500 0 0 1024 746 </string>
+ <string>110 321 500 500 0 0 1680 1028 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -748,14 +588,14 @@
<key>TableOfContents</key>
<array>
<string>79A57E330B4BB7C700E50393</string>
- <string>79014DE90B4E19520001C1C2</string>
+ <string>79874A740B507E9200AEDF1A</string>
<string>1CD0528F0623707200166675</string>
<string>XCMainBuildResultsModuleGUID</string>
</array>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.build</string>
<key>WindowString</key>
- <string>49 157 500 500 0 0 1024 746 </string>
+ <string>110 321 500 500 0 0 1680 1028 </string>
<key>WindowToolGUID</key>
<string>79A57E330B4BB7C700E50393</string>
<key>WindowToolIsVisible</key>
View
263 Saw/Saw.xcodeproj/wolf.pbxuser
@@ -34,18 +34,8 @@
PBXFileDataSource_Target_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 189671072;
- PBXWorkspaceStateSaveDate = 189671072;
- };
- perUserProjectItems = {
- 79014E000B4E26A30001C1C2 /* PBXBookmark */ = 79014E000B4E26A30001C1C2 /* PBXBookmark */;
- 79014E010B4E26EC0001C1C2 /* PBXBookmark */ = 79014E010B4E26EC0001C1C2 /* PBXBookmark */;
- 79014E0A0B4E40190001C1C2 /* PBXTextBookmark */ = 79014E0A0B4E40190001C1C2 /* PBXTextBookmark */;
- 79014E0B0B4E40190001C1C2 /* PBXTextBookmark */ = 79014E0B0B4E40190001C1C2 /* PBXTextBookmark */;
- 79014E0E0B4E40190001C1C2 /* PBXTextBookmark */ = 79014E0E0B4E40190001C1C2 /* PBXTextBookmark */;
- 79014E100B4E40190001C1C2 /* PBXTextBookmark */ = 79014E100B4E40190001C1C2 /* PBXTextBookmark */;
- 79014E140B4E40190001C1C2 /* PBXTextBookmark */ = 79014E140B4E40190001C1C2 /* PBXTextBookmark */;
- 79014E170B4E40190001C1C2 /* XDModelBookmark */ = 79014E170B4E40190001C1C2 /* XDModelBookmark */;
+ PBXPerProjectTemplateStateSaveDate = 189824651;
+ PBXWorkspaceStateSaveDate = 189824651;
};
sourceControlManager = 79BC13F40B4BB77000AA9DE7 /* Source Control */;
userBuildSettings = {
@@ -56,7 +46,7 @@
"Xdesign Model Editor Bookmark Key" = {
UIContextForDetailArea = {
_indexOfSelectedPane = 0;
- _indexOfSelectedView = 1;
+ _indexOfSelectedView = 0;
};
UIContextForEntityArea = {
_indexOfSelectedView = 0;
@@ -207,250 +197,15 @@
"xdesign model browser state key - shown/hidden" = 1;
"xdesign model diagram view visible rect key" = "{{-145, 0}, {938, 411}}";
};
- sepNavWindowFrame = "{{443, 304}, {953, 709}}";
+ sepNavWindowFrame = "{{200, 112}, {953, 709}}";
};
};
77C8280C06725ACE000B614F /* Saw_AppDelegate.m */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {459, 4228}}";
+ sepNavIntBoundsRect = "{{0, 0}, {914, 3654}}";
sepNavSelRange = "{28, 18}";
- sepNavVisRect = "{{0, 0}, {459, 201}}";
- };
- };
- 79014E000B4E26A30001C1C2 /* PBXBookmark */ = {
- isa = PBXBookmark;
- fRef = 770B37EC0679A11B001EADE2 /* Saw_DataModel.xcdatamodel */;
- };
- 79014E010B4E26EC0001C1C2 /* PBXBookmark */ = {
- isa = PBXBookmark;
- fRef = 79D0DDB20B423EEE0080336F /* include.m */;
- };
- 79014E0A0B4E40190001C1C2 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 79D0DDB90B423FB00080336F /* CoreData+JRExtensions.m */;
- rLen = 1;
- rLoc = 167;
- rType = 1;
- };
- 79014E0B0B4E40190001C1C2 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 79D0DDB90B423FB00080336F /* CoreData+JRExtensions.m */;
- name = "- (id)executeSingleResultFetchRequestNamed:(NSString*)fetchRequestName_ substitutionVariables:(NSDictionary*)variables_ error:(NSError**)error_ {";
- rLen = 146;
- rLoc = 6261;
- rType = 0;
- vrLen = 1467;
- vrLoc = 0;
- };
- 79014E0E0B4E40190001C1C2 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 79014E0F0B4E40190001C1C2 /* SourceMO.m */;
- rLen = 0;
- rLoc = 2147483647;
- rType = 0;
- };
- 79014E0F0B4E40190001C1C2 /* SourceMO.m */ = {
- isa = PBXFileReference;
- lastKnownFileType = sourcecode.c.objc;
- name = SourceMO.m;
- path = /Users/wolf/code/sf/redshed/cocoa/JRLog/Saw/MOs/SourceMO.m;
- sourceTree = "<absolute>";
- uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {914, 651}}";
- sepNavSelRange = "{389, 36}";
sepNavVisRect = "{{0, 0}, {914, 651}}";
- sepNavWindowFrame = "{{84, 276}, {953, 709}}";
- };
- };
- 79014E100B4E40190001C1C2 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 79014E110B4E40190001C1C2 /* SourceMO.m */;
- name = executeSingleResultFetchRequestNamed;
- rLen = 36;
- rLoc = 389;
- rType = 0;
- vrLen = 533;
- vrLoc = 0;
- };
- 79014E110B4E40190001C1C2 /* SourceMO.m */ = {
- isa = PBXFileReference;
- name = SourceMO.m;
- path = /Users/wolf/code/sf/redshed/cocoa/JRLog/Saw/MOs/SourceMO.m;
- sourceTree = "<absolute>";
- };
- 79014E140B4E40190001C1C2 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 79D0DDB20B423EEE0080336F /* include.m */;
- name = SourceMO;
- rLen = 8;
- rLoc = 10;
- rType = 0;
- vrLen = 139;
- vrLoc = 0;
- };
- 79014E170B4E40190001C1C2 /* XDModelBookmark */ = {
- isa = XDModelBookmark;
- fRef = 770B37EC0679A11B001EADE2 /* Saw_DataModel.xcdatamodel */;
- fallbackIsa = PBXBookmark;
- uiCtxt = {
- UIContextForDetailArea = {
- _indexOfSelectedPane = 0;
- _indexOfSelectedView = 1;
- };
- UIContextForEntityArea = {
- _indexOfSelectedView = 0;
- chosenTableColumnns = (
- "ET Entity",
- "ET Abstract",
- "ET Class",
- );
- chosenTableColumnns_sortDirections = (
- YES,
- );
- chosenTableColumnns_sortKeys = (
- name,
- );
- chosenTableColumnns_sortSelectors = (
- "_xdcaseInsensitiveNumericCompare:",
- );
- chosenTableWidths = (
- 103.000000,
- 22.000000,
- 49.080078,
- );
- };
- UIContextForLayoutManager = {
- detailSplitGeometry = {
- _collapsingFrameDimension = 0;
- _indexOfCollapsedView = 0;
- _percentageOfCollapsedView = 0;
- isCollapsed = yes;
- sizes = (
- "{{0, 0}, {619, 220}}",
- "{{624, 0}, {329, 220}}",
- );
- };
- diagramSplitGeometry = {
- _collapsingFrameDimension = 0;
- _indexOfCollapsedView = 0;
- _percentageOfCollapsedView = 0;
- isCollapsed = yes;
- sizes = (
- "{{0, 0}, {953, 220}}",
- "{{0, 225}, {953, 426}}",
- );
- };
- tableSplitGeometry = {
- _collapsingFrameDimension = 0;
- _indexOfCollapsedView = 0;
- _percentageOfCollapsedView = 0;
- isCollapsed = yes;
- sizes = (
- "{{0, 0}, {199, 220}}",
- "{{204, 0}, {414, 220}}",
- );
- };
- };
- UIContextForPropertyArea = {
- _indexOfSelectedView = 4;
- chosenTableColumnnFRTs = (
- "FT Fetch Request",
- "FT Predicate",
- );
- chosenTableColumnnFRTs_sortDirections = (
- YES,
- );
- chosenTableColumnnFRTs_sortKeys = (
- name,
- );
- chosenTableColumnnFRTs_sortSelectors = (
- "_xdcaseInsensitiveNumericCompare:",
- );
- chosenTableColumnnsAT = (
- "AT Attribute",
- "AT Type",
- );
- chosenTableColumnnsAT_sortDirections = (
- YES,
- );
- chosenTableColumnnsAT_sortKeys = (
- name,
- );
- chosenTableColumnnsAT_sortSelectors = (
- "_xdcaseInsensitiveNumericCompare:",
- );
- chosenTableColumnnsFPT = (
- "FP FetchedProperty",
- "FP Destination",
- "FP Predicate",
- );
- chosenTableColumnnsFPT_sortDirections = (
- YES,
- );
- chosenTableColumnnsFPT_sortKeys = (
- name,
- );
- chosenTableColumnnsFPT_sortSelectors = (
- "_xdcaseInsensitiveNumericCompare:",
- );
- chosenTableColumnnsPT = (
- "PT Property",
- "PT Kind",
- "PT SharedKeyOne",
- );
- chosenTableColumnnsPT_sortDirections = (
- YES,
- );
- chosenTableColumnnsPT_sortKeys = (
- name,
- );
- chosenTableColumnnsPT_sortSelectors = (
- "_xdcaseInsensitiveNumericCompare:",
- );
- chosenTableColumnnsRT = (
- "RT Relationship",
- "RT Destination",
- );
- chosenTableColumnnsRT_sortDirections = (
- YES,
- );
- chosenTableColumnnsRT_sortKeys = (
- name,
- );
- chosenTableColumnnsRT_sortSelectors = (
- "_xdcaseInsensitiveNumericCompare:",
- );
- chosenTableWidthsAT = (
- 128.000000,
- 64.000000,
- );
- chosenTableWidthsFPT = (
- 128.000000,
- 64.000000,
- 144.764160,
- );
- chosenTableWidthsFRT = (
- 128.000000,
- 262.764160,
- );
- chosenTableWidthsPT = (
- 128.000000,
- 108.110840,
- 151.570801,
- );
- chosenTableWidthsRT = (
- 128.000000,
- 64.000000,
- );
- };
- "xdesign model browser state key - shown/hidden" = 1;
- "xdesign model diagram view visible rect key" = "{{-145, 0}, {938, 411}}";
- "xdesign model selected entities key" = (
- "<XDPMEntity: 0x15d5570>{name=Source, package=}",
- );
- "xdesign model selected properties key" = (
- "<XDPMFetchRequest: 0x37c9a0>",
- );
+ sepNavWindowFrame = "{{84, 251}, {953, 709}}";
};
};
79A57E3C0B4BB7E600E50393 /* JRLog.m */ = {
@@ -502,15 +257,15 @@
sepNavIntBoundsRect = "{{0, 0}, {914, 651}}";
sepNavSelRange = "{10, 8}";
sepNavVisRect = "{{0, 0}, {914, 651}}";
- sepNavWindowFrame = "{{61, 295}, {953, 709}}";
+ sepNavWindowFrame = "{{28, 108}, {953, 709}}";
};
};
79D0DDB90B423FB00080336F /* CoreData+JRExtensions.m */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {914, 2842}}";
sepNavSelRange = "{6261, 146}";
- sepNavVisRect = "{{0, 0}, {914, 651}}";
- sepNavWindowFrame = "{{107, 256}, {953, 709}}";
+ sepNavVisRect = "{{0, 7}, {914, 651}}";
+ sepNavWindowFrame = "{{48, 94}, {953, 709}}";
};
};
8D1107260486CEB800E47090 /* Saw */ = {
View
9 Saw/Saw_AppDelegate.m
@@ -6,10 +6,13 @@
#import "nsenumerate.h"
#import "CoreData+JRExtensions.h"
-@interface SawDO : NSObject {
+@protocol JRLogDestinationDO
+- (oneway void)logWithDictionary:(bycopy NSDictionary*)dictionary_;
+@end
+
+@interface SawDO : NSObject<JRLogDestinationDO> {
NSManagedObjectContext *moc;
}
-- (void)logWithDictionary:(NSDictionary*)dictionary_;
@end
@implementation SawDO
- (id)init {
@@ -19,7 +22,7 @@ - (id)init {
}
return self;
}
-- (void)logWithDictionary:(NSDictionary*)d_ {
+- (oneway void)logWithDictionary:(bycopy NSDictionary*)d_ {
//NSLog(@"%@", d_);
NSString *bundleID = [d_ objectForKey:@"bundleID"];
Please sign in to comment.
Something went wrong with that request. Please try again.