Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

3.3 dir created

  • Loading branch information...
commit 3cfed73a7b5cab8ef981917473df0fd4f55a9f60 1 parent d686763
geremy cohen authored
Showing with 7,529 additions and 0 deletions.
  1. +320 −0 objective-c/3.3/Pubnub.xcodeproj/project.pbxproj
  2. +7 −0 objective-c/3.3/Pubnub.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  3. BIN  ...c/3.3/Pubnub.xcodeproj/project.xcworkspace/xcuserdata/dahiwadkar.xcuserdatad/UserInterfaceState.xcuserstate
  4. BIN  ...ive-c/3.3/Pubnub.xcodeproj/project.xcworkspace/xcuserdata/pubnub.xcuserdatad/UserInterfaceState.xcuserstate
  5. +33 −0 objective-c/3.3/Pubnub.xcodeproj/xcuserdata/dahiwadkar.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist
  6. +85 −0 objective-c/3.3/Pubnub.xcodeproj/xcuserdata/dahiwadkar.xcuserdatad/xcschemes/Pubnub.xcscheme
  7. +22 −0 objective-c/3.3/Pubnub.xcodeproj/xcuserdata/dahiwadkar.xcuserdatad/xcschemes/xcschememanagement.plist
  8. +86 −0 objective-c/3.3/Pubnub.xcodeproj/xcuserdata/pubnub.xcuserdatad/xcschemes/Pubnub.xcscheme
  9. +22 −0 objective-c/3.3/Pubnub.xcodeproj/xcuserdata/pubnub.xcuserdatad/xcschemes/xcschememanagement.plist
  10. +15 −0 objective-c/3.3/Pubnub/AppDelegate.h
  11. +50 −0 objective-c/3.3/Pubnub/AppDelegate.m
  12. +1,023 −0 objective-c/3.3/Pubnub/MainWindow_iPhone.xib
  13. +23 −0 objective-c/3.3/Pubnub/PubNub/Base64.h
  14. +97 −0 objective-c/3.3/Pubnub/PubNub/Base64.m
  15. +98 −0 objective-c/3.3/Pubnub/PubNub/CEPubnub.h
  16. +807 −0 objective-c/3.3/Pubnub/PubNub/CEPubnub.m
  17. +21 −0 objective-c/3.3/Pubnub/PubNub/Cipher.h
  18. +107 −0 objective-c/3.3/Pubnub/PubNub/Cipher.m
  19. +26 −0 objective-c/3.3/Pubnub/PubNub/Common.h
  20. +110 −0 objective-c/3.3/Pubnub/PubNub/Common.m
  21. +32 −0 objective-c/3.3/Pubnub/PubNub/JSON.h
  22. +94 −0 objective-c/3.3/Pubnub/PubNub/JSON.m
  23. +251 −0 objective-c/3.3/Pubnub/PubNub/JSONKit.h
  24. +3,111 −0 objective-c/3.3/Pubnub/PubNub/JSONKit.m
  25. +40 −0 objective-c/3.3/Pubnub/Pubnub-Info.plist
  26. +14 −0 objective-c/3.3/Pubnub/Pubnub-Prefix.pch
  27. +2 −0  objective-c/3.3/Pubnub/en.lproj/InfoPlist.strings
  28. +149 −0 objective-c/3.3/Pubnub/en.lproj/MainStoryboard.storyboard
  29. +29 −0 objective-c/3.3/Pubnub/iPhoneTest.h
  30. +332 −0 objective-c/3.3/Pubnub/iPhoneTest.m
  31. +505 −0 objective-c/3.3/Pubnub/iPhoneTest.xib
  32. +18 −0 objective-c/3.3/Pubnub/main.m
View
320 objective-c/3.3/Pubnub.xcodeproj/project.pbxproj
@@ -0,0 +1,320 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ C8FD4D38153D447200D0A418 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C8FD4D37153D447200D0A418 /* UIKit.framework */; };
+ C8FD4D3A153D447200D0A418 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C8FD4D39153D447200D0A418 /* Foundation.framework */; };
+ C8FD4D3C153D447200D0A418 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C8FD4D3B153D447200D0A418 /* CoreGraphics.framework */; };
+ C8FD4D42153D447200D0A418 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = C8FD4D40153D447200D0A418 /* InfoPlist.strings */; };
+ C8FD4D44153D447200D0A418 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = C8FD4D43153D447200D0A418 /* main.m */; };
+ C8FD4D48153D447200D0A418 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = C8FD4D47153D447200D0A418 /* AppDelegate.m */; };
+ C8FD4D4E153D447200D0A418 /* iPhoneTest.m in Sources */ = {isa = PBXBuildFile; fileRef = C8FD4D4D153D447200D0A418 /* iPhoneTest.m */; };
+ C8FD4D79153D469D00D0A418 /* Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = C8FD4D6C153D469D00D0A418 /* Base64.m */; };
+ C8FD4D7A153D469D00D0A418 /* CEPubnub.m in Sources */ = {isa = PBXBuildFile; fileRef = C8FD4D6E153D469D00D0A418 /* CEPubnub.m */; };
+ C8FD4D7B153D469D00D0A418 /* Cipher.m in Sources */ = {isa = PBXBuildFile; fileRef = C8FD4D70153D469D00D0A418 /* Cipher.m */; };
+ C8FD4D7C153D469D00D0A418 /* Common.m in Sources */ = {isa = PBXBuildFile; fileRef = C8FD4D72153D469D00D0A418 /* Common.m */; };
+ C8FD4D7E153D469D00D0A418 /* JSON.m in Sources */ = {isa = PBXBuildFile; fileRef = C8FD4D76153D469D00D0A418 /* JSON.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
+ C8FD4D7F153D469D00D0A418 /* JSONKit.m in Sources */ = {isa = PBXBuildFile; fileRef = C8FD4D78153D469D00D0A418 /* JSONKit.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
+ C8FD4D85153D505500D0A418 /* MainWindow_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = C8FD4D84153D505500D0A418 /* MainWindow_iPhone.xib */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ C8FD4D33153D447200D0A418 /* Pubnub.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Pubnub.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ C8FD4D37153D447200D0A418 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+ C8FD4D39153D447200D0A418 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ C8FD4D3B153D447200D0A418 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+ C8FD4D3F153D447200D0A418 /* Pubnub-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Pubnub-Info.plist"; sourceTree = "<group>"; };
+ C8FD4D41153D447200D0A418 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ C8FD4D43153D447200D0A418 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+ C8FD4D45153D447200D0A418 /* Pubnub-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Pubnub-Prefix.pch"; sourceTree = "<group>"; };
+ C8FD4D46153D447200D0A418 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
+ C8FD4D47153D447200D0A418 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
+ C8FD4D4C153D447200D0A418 /* iPhoneTest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = iPhoneTest.h; sourceTree = "<group>"; };
+ C8FD4D4D153D447200D0A418 /* iPhoneTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = iPhoneTest.m; sourceTree = "<group>"; };
+ C8FD4D6B153D469D00D0A418 /* Base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Base64.h; sourceTree = "<group>"; };
+ C8FD4D6C153D469D00D0A418 /* Base64.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Base64.m; sourceTree = "<group>"; };
+ C8FD4D6D153D469D00D0A418 /* CEPubnub.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CEPubnub.h; sourceTree = "<group>"; };
+ C8FD4D6E153D469D00D0A418 /* CEPubnub.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CEPubnub.m; sourceTree = "<group>"; };
+ C8FD4D6F153D469D00D0A418 /* Cipher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Cipher.h; sourceTree = "<group>"; };
+ C8FD4D70153D469D00D0A418 /* Cipher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Cipher.m; sourceTree = "<group>"; };
+ C8FD4D71153D469D00D0A418 /* Common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Common.h; sourceTree = "<group>"; };
+ C8FD4D72153D469D00D0A418 /* Common.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Common.m; sourceTree = "<group>"; };
+ C8FD4D75153D469D00D0A418 /* JSON.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSON.h; sourceTree = "<group>"; };
+ C8FD4D76153D469D00D0A418 /* JSON.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JSON.m; sourceTree = "<group>"; };
+ C8FD4D77153D469D00D0A418 /* JSONKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSONKit.h; sourceTree = "<group>"; };
+ C8FD4D78153D469D00D0A418 /* JSONKit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JSONKit.m; sourceTree = "<group>"; };
+ C8FD4D84153D505500D0A418 /* MainWindow_iPhone.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MainWindow_iPhone.xib; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ C8FD4D30153D447200D0A418 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C8FD4D38153D447200D0A418 /* UIKit.framework in Frameworks */,
+ C8FD4D3A153D447200D0A418 /* Foundation.framework in Frameworks */,
+ C8FD4D3C153D447200D0A418 /* CoreGraphics.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ C8FD4D28153D447100D0A418 = {
+ isa = PBXGroup;
+ children = (
+ C8FD4D3D153D447200D0A418 /* Pubnub */,
+ C8FD4D36153D447200D0A418 /* Frameworks */,
+ C8FD4D34153D447200D0A418 /* Products */,
+ );
+ sourceTree = "<group>";
+ };
+ C8FD4D34153D447200D0A418 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ C8FD4D33153D447200D0A418 /* Pubnub.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ C8FD4D36153D447200D0A418 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ C8FD4D37153D447200D0A418 /* UIKit.framework */,
+ C8FD4D39153D447200D0A418 /* Foundation.framework */,
+ C8FD4D3B153D447200D0A418 /* CoreGraphics.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ C8FD4D3D153D447200D0A418 /* Pubnub */ = {
+ isa = PBXGroup;
+ children = (
+ C8FD4D84153D505500D0A418 /* MainWindow_iPhone.xib */,
+ C8FD4D6A153D469D00D0A418 /* PubNub */,
+ C8FD4D46153D447200D0A418 /* AppDelegate.h */,
+ C8FD4D47153D447200D0A418 /* AppDelegate.m */,
+ C8FD4D4C153D447200D0A418 /* iPhoneTest.h */,
+ C8FD4D4D153D447200D0A418 /* iPhoneTest.m */,
+ C8FD4D3E153D447200D0A418 /* Supporting Files */,
+ );
+ path = Pubnub;
+ sourceTree = "<group>";
+ };
+ C8FD4D3E153D447200D0A418 /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ C8FD4D3F153D447200D0A418 /* Pubnub-Info.plist */,
+ C8FD4D40153D447200D0A418 /* InfoPlist.strings */,
+ C8FD4D43153D447200D0A418 /* main.m */,
+ C8FD4D45153D447200D0A418 /* Pubnub-Prefix.pch */,
+ );
+ name = "Supporting Files";
+ sourceTree = "<group>";
+ };
+ C8FD4D6A153D469D00D0A418 /* PubNub */ = {
+ isa = PBXGroup;
+ children = (
+ C8FD4D6B153D469D00D0A418 /* Base64.h */,
+ C8FD4D6C153D469D00D0A418 /* Base64.m */,
+ C8FD4D6D153D469D00D0A418 /* CEPubnub.h */,
+ C8FD4D6E153D469D00D0A418 /* CEPubnub.m */,
+ C8FD4D6F153D469D00D0A418 /* Cipher.h */,
+ C8FD4D70153D469D00D0A418 /* Cipher.m */,
+ C8FD4D71153D469D00D0A418 /* Common.h */,
+ C8FD4D72153D469D00D0A418 /* Common.m */,
+ C8FD4D75153D469D00D0A418 /* JSON.h */,
+ C8FD4D76153D469D00D0A418 /* JSON.m */,
+ C8FD4D77153D469D00D0A418 /* JSONKit.h */,
+ C8FD4D78153D469D00D0A418 /* JSONKit.m */,
+ );
+ path = PubNub;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ C8FD4D32153D447200D0A418 /* Pubnub */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = C8FD4D51153D447200D0A418 /* Build configuration list for PBXNativeTarget "Pubnub" */;
+ buildPhases = (
+ C8FD4D2F153D447200D0A418 /* Sources */,
+ C8FD4D30153D447200D0A418 /* Frameworks */,
+ C8FD4D31153D447200D0A418 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = Pubnub;
+ productName = Pubnub;
+ productReference = C8FD4D33153D447200D0A418 /* Pubnub.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ C8FD4D2A153D447100D0A418 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0430;
+ };
+ buildConfigurationList = C8FD4D2D153D447100D0A418 /* Build configuration list for PBXProject "Pubnub" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = C8FD4D28153D447100D0A418;
+ productRefGroup = C8FD4D34153D447200D0A418 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ C8FD4D32153D447200D0A418 /* Pubnub */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ C8FD4D31153D447200D0A418 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C8FD4D42153D447200D0A418 /* InfoPlist.strings in Resources */,
+ C8FD4D85153D505500D0A418 /* MainWindow_iPhone.xib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ C8FD4D2F153D447200D0A418 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C8FD4D44153D447200D0A418 /* main.m in Sources */,
+ C8FD4D48153D447200D0A418 /* AppDelegate.m in Sources */,
+ C8FD4D4E153D447200D0A418 /* iPhoneTest.m in Sources */,
+ C8FD4D79153D469D00D0A418 /* Base64.m in Sources */,
+ C8FD4D7A153D469D00D0A418 /* CEPubnub.m in Sources */,
+ C8FD4D7B153D469D00D0A418 /* Cipher.m in Sources */,
+ C8FD4D7C153D469D00D0A418 /* Common.m in Sources */,
+ C8FD4D7E153D469D00D0A418 /* JSON.m in Sources */,
+ C8FD4D7F153D469D00D0A418 /* JSONKit.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ C8FD4D40153D447200D0A418 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ C8FD4D41153D447200D0A418 /* en */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ C8FD4D4F153D447200D0A418 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ CLANG_ENABLE_OBJC_ARC = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 4.0;
+ SDKROOT = iphoneos;
+ };
+ name = Debug;
+ };
+ C8FD4D50153D447200D0A418 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ CLANG_ENABLE_OBJC_ARC = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 4.0;
+ OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
+ SDKROOT = iphoneos;
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Release;
+ };
+ C8FD4D52153D447200D0A418 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "Pubnub/Pubnub-Prefix.pch";
+ INFOPLIST_FILE = "Pubnub/Pubnub-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 4.0;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Debug;
+ };
+ C8FD4D53153D447200D0A418 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "Pubnub/Pubnub-Prefix.pch";
+ INFOPLIST_FILE = "Pubnub/Pubnub-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 4.0;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ C8FD4D2D153D447100D0A418 /* Build configuration list for PBXProject "Pubnub" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C8FD4D4F153D447200D0A418 /* Debug */,
+ C8FD4D50153D447200D0A418 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ C8FD4D51153D447200D0A418 /* Build configuration list for PBXNativeTarget "Pubnub" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C8FD4D52153D447200D0A418 /* Debug */,
+ C8FD4D53153D447200D0A418 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = C8FD4D2A153D447100D0A418 /* Project object */;
+}
View
7 objective-c/3.3/Pubnub.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+ version = "1.0">
+ <FileRef
+ location = "self:Pubnub.xcodeproj">
+ </FileRef>
+</Workspace>
View
BIN  ...proj/project.xcworkspace/xcuserdata/dahiwadkar.xcuserdatad/UserInterfaceState.xcuserstate
Binary file not shown
View
BIN  ...codeproj/project.xcworkspace/xcuserdata/pubnub.xcuserdatad/UserInterfaceState.xcuserstate
Binary file not shown
View
33 .../3.3/Pubnub.xcodeproj/xcuserdata/dahiwadkar.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Bucket
+ type = "1"
+ version = "1.0">
+ <FileBreakpoints>
+ <FileBreakpoint
+ shouldBeEnabled = "No"
+ ignoreCount = "0"
+ continueAfterRunningActions = "No"
+ filePath = "Pubnub/PubNub/CEPubnub.m"
+ timestampString = "366189577.825939"
+ startingColumnNumber = "9223372036854775807"
+ endingColumnNumber = "9223372036854775807"
+ startingLineNumber = "749"
+ endingLineNumber = "749"
+ landmarkName = "-connection:didCompleteWithResponse:"
+ landmarkType = "5">
+ </FileBreakpoint>
+ <FileBreakpoint
+ shouldBeEnabled = "No"
+ ignoreCount = "0"
+ continueAfterRunningActions = "No"
+ filePath = "Pubnub/PubNub/CEPubnub.m"
+ timestampString = "366189383.043986"
+ startingColumnNumber = "9223372036854775807"
+ endingColumnNumber = "9223372036854775807"
+ startingLineNumber = "118"
+ endingLineNumber = "118"
+ landmarkName = "-connectionDidFinishLoading:"
+ landmarkType = "5">
+ </FileBreakpoint>
+ </FileBreakpoints>
+</Bucket>
View
85 objective-c/3.3/Pubnub.xcodeproj/xcuserdata/dahiwadkar.xcuserdatad/xcschemes/Pubnub.xcscheme
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "C8FD4D32153D447200D0A418"
+ BuildableName = "Pubnub.app"
+ BlueprintName = "Pubnub"
+ ReferencedContainer = "container:Pubnub.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ buildConfiguration = "Debug">
+ <Testables>
+ </Testables>
+ <MacroExpansion>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "C8FD4D32153D447200D0A418"
+ BuildableName = "Pubnub.app"
+ BlueprintName = "Pubnub"
+ ReferencedContainer = "container:Pubnub.xcodeproj">
+ </BuildableReference>
+ </MacroExpansion>
+ </TestAction>
+ <LaunchAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Debug"
+ ignoresPersistentStateOnLaunch = "NO"
+ debugDocumentVersioning = "YES"
+ allowLocationSimulation = "YES">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "C8FD4D32153D447200D0A418"
+ BuildableName = "Pubnub.app"
+ BlueprintName = "Pubnub"
+ ReferencedContainer = "container:Pubnub.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Release"
+ debugDocumentVersioning = "YES">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "C8FD4D32153D447200D0A418"
+ BuildableName = "Pubnub.app"
+ BlueprintName = "Pubnub"
+ ReferencedContainer = "container:Pubnub.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
View
22 ...3.3/Pubnub.xcodeproj/xcuserdata/dahiwadkar.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>SchemeUserState</key>
+ <dict>
+ <key>Pubnub.xcscheme</key>
+ <dict>
+ <key>orderHint</key>
+ <integer>0</integer>
+ </dict>
+ </dict>
+ <key>SuppressBuildableAutocreation</key>
+ <dict>
+ <key>C8FD4D32153D447200D0A418</key>
+ <dict>
+ <key>primary</key>
+ <true/>
+ </dict>
+ </dict>
+</dict>
+</plist>
View
86 objective-c/3.3/Pubnub.xcodeproj/xcuserdata/pubnub.xcuserdatad/xcschemes/Pubnub.xcscheme
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ LastUpgradeVersion = "0440"
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "C8FD4D32153D447200D0A418"
+ BuildableName = "Pubnub.app"
+ BlueprintName = "Pubnub"
+ ReferencedContainer = "container:Pubnub.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ buildConfiguration = "Debug">
+ <Testables>
+ </Testables>
+ <MacroExpansion>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "C8FD4D32153D447200D0A418"
+ BuildableName = "Pubnub.app"
+ BlueprintName = "Pubnub"
+ ReferencedContainer = "container:Pubnub.xcodeproj">
+ </BuildableReference>
+ </MacroExpansion>
+ </TestAction>
+ <LaunchAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Debug"
+ ignoresPersistentStateOnLaunch = "NO"
+ debugDocumentVersioning = "YES"
+ allowLocationSimulation = "YES">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "C8FD4D32153D447200D0A418"
+ BuildableName = "Pubnub.app"
+ BlueprintName = "Pubnub"
+ ReferencedContainer = "container:Pubnub.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Release"
+ debugDocumentVersioning = "YES">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "C8FD4D32153D447200D0A418"
+ BuildableName = "Pubnub.app"
+ BlueprintName = "Pubnub"
+ ReferencedContainer = "container:Pubnub.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
View
22 ...e-c/3.3/Pubnub.xcodeproj/xcuserdata/pubnub.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>SchemeUserState</key>
+ <dict>
+ <key>Pubnub.xcscheme</key>
+ <dict>
+ <key>orderHint</key>
+ <integer>0</integer>
+ </dict>
+ </dict>
+ <key>SuppressBuildableAutocreation</key>
+ <dict>
+ <key>C8FD4D32153D447200D0A418</key>
+ <dict>
+ <key>primary</key>
+ <true/>
+ </dict>
+ </dict>
+</dict>
+</plist>
View
15 objective-c/3.3/Pubnub/AppDelegate.h
@@ -0,0 +1,15 @@
+//
+// AppDelegate.h
+// Pubnub
+//
+// Created by itshastra on 17/04/12.
+// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface AppDelegate : UIResponder <UIApplicationDelegate>
+
+@property (strong, nonatomic) UIWindow *window;
+
+@end
View
50 objective-c/3.3/Pubnub/AppDelegate.m
@@ -0,0 +1,50 @@
+//
+// AppDelegate.m
+// Pubnub
+//
+// Created by itshastra on 17/04/12.
+// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
+//
+
+#import "AppDelegate.h"
+#import "iPhoneTest.h"
+
+@implementation AppDelegate
+
+@synthesize window = _window;
+
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
+{
+ NSLog(@"launching");
+ // Override point for customization after application launch.
+ return YES;
+}
+
+- (void)applicationWillResignActive:(UIApplication *)application
+{
+ // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
+ // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
+}
+
+- (void)applicationDidEnterBackground:(UIApplication *)application
+{
+ // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
+ // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
+}
+
+- (void)applicationWillEnterForeground:(UIApplication *)application
+{
+ // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
+}
+
+- (void)applicationDidBecomeActive:(UIApplication *)application
+{
+ // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
+}
+
+- (void)applicationWillTerminate:(UIApplication *)application
+{
+ // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
+}
+
+@end
View
1,023 objective-c/3.3/Pubnub/MainWindow_iPhone.xib
@@ -0,0 +1,1023 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
+ <data>
+ <int key="IBDocument.SystemTarget">1296</int>
+ <string key="IBDocument.SystemVersion">11E53</string>
+ <string key="IBDocument.InterfaceBuilderVersion">2549</string>
+ <string key="IBDocument.AppKitVersion">1138.47</string>
+ <string key="IBDocument.HIToolboxVersion">569.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="NS.object.0">1498</string>
+ </object>
+ <object class="NSArray" key="IBDocument.IntegratedClassDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>IBProxyObject</string>
+ <string>IBUIButton</string>
+ <string>IBUICustomObject</string>
+ <string>IBUILabel</string>
+ <string>IBUIScrollView</string>
+ <string>IBUITextView</string>
+ <string>IBUIView</string>
+ <string>IBUIViewController</string>
+ <string>IBUIWindow</string>
+ </object>
+ <object class="NSArray" key="IBDocument.PluginDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <string key="NS.key.0">PluginDependencyRecalculationVersion</string>
+ <integer value="1" key="NS.object.0"/>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBProxyObject" id="841351856">
+ <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBProxyObject" id="450319686">
+ <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUIWindow" id="380026005">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">1316</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBUIView" id="827338986">
+ <reference key="NSNextResponder" ref="380026005"/>
+ <int key="NSvFlags">1298</int>
+ <string key="NSFrame">{{0, 10}, {320, 460}}</string>
+ <reference key="NSSuperview" ref="380026005"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MC43NQA</bytes>
+ <object class="NSColorSpace" key="NSCustomColorSpace" id="867276257">
+ <int key="NSID">2</int>
+ </object>
+ </object>
+ <bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ </object>
+ <object class="NSPSMatrix" key="NSFrameMatrix"/>
+ <string key="NSFrameSize">{320, 480}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="827338986"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MSAxIDEAA</bytes>
+ </object>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIResizesToFullScreen">YES</bool>
+ </object>
+ <object class="IBUICustomObject" id="987256611">
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUIViewController" id="983902574">
+ <object class="IBUIView" key="IBUIView" id="448933780">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">274</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBUIScrollView" id="224265230">
+ <reference key="NSNextResponder" ref="448933780"/>
+ <int key="NSvFlags">1292</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBUIButton" id="710820235">
+ <reference key="NSNextResponder" ref="224265230"/>
+ <int key="NSvFlags">1316</int>
+ <object class="NSPSMatrix" key="NSFrameMatrix"/>
+ <string key="NSFrame">{{9, 74}, {72, 37}}</string>
+ <reference key="NSSuperview" ref="224265230"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="235427550"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <int key="IBUIContentHorizontalAlignment">0</int>
+ <int key="IBUIContentVerticalAlignment">0</int>
+ <int key="IBUIButtonType">1</int>
+ <string key="IBUINormalTitle">String</string>
+ <object class="NSColor" key="IBUIHighlightedTitleColor" id="239382325">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MQA</bytes>
+ </object>
+ <object class="NSColor" key="IBUINormalTitleColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
+ </object>
+ <object class="NSColor" key="IBUINormalTitleShadowColor" id="329616175">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MC41AA</bytes>
+ </object>
+ <object class="IBUIFontDescription" key="IBUIFontDescription" id="119080232">
+ <int key="type">2</int>
+ <double key="pointSize">15</double>
+ </object>
+ <object class="NSFont" key="IBUIFont" id="102262143">
+ <string key="NSName">Helvetica-Bold</string>
+ <double key="NSSize">15</double>
+ <int key="NSfFlags">16</int>
+ </object>
+ </object>
+ <object class="IBUIButton" id="235427550">
+ <reference key="NSNextResponder" ref="224265230"/>
+ <int key="NSvFlags">1316</int>
+ <object class="NSPSMatrix" key="NSFrameMatrix"/>
+ <string key="NSFrame">{{87, 74}, {72, 37}}</string>
+ <reference key="NSSuperview" ref="224265230"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="430720323"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <int key="IBUIContentHorizontalAlignment">0</int>
+ <int key="IBUIContentVerticalAlignment">0</int>
+ <int key="IBUIButtonType">1</int>
+ <string key="IBUINormalTitle">Array</string>
+ <reference key="IBUIHighlightedTitleColor" ref="239382325"/>
+ <object class="NSColor" key="IBUINormalTitleColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
+ </object>
+ <reference key="IBUINormalTitleShadowColor" ref="329616175"/>
+ <reference key="IBUIFontDescription" ref="119080232"/>
+ <reference key="IBUIFont" ref="102262143"/>
+ </object>
+ <object class="IBUIButton" id="430720323">
+ <reference key="NSNextResponder" ref="224265230"/>
+ <int key="NSvFlags">1316</int>
+ <object class="NSPSMatrix" key="NSFrameMatrix"/>
+ <string key="NSFrame">{{167, 74}, {90, 37}}</string>
+ <reference key="NSSuperview" ref="224265230"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="839023078"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <int key="IBUIContentHorizontalAlignment">0</int>
+ <int key="IBUIContentVerticalAlignment">0</int>
+ <int key="IBUIButtonType">1</int>
+ <string key="IBUINormalTitle">Dictionary</string>
+ <reference key="IBUIHighlightedTitleColor" ref="239382325"/>
+ <object class="NSColor" key="IBUINormalTitleColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
+ </object>
+ <reference key="IBUINormalTitleShadowColor" ref="329616175"/>
+ <reference key="IBUIFontDescription" ref="119080232"/>
+ <reference key="IBUIFont" ref="102262143"/>
+ </object>
+ <object class="IBUIButton" id="34762702">
+ <reference key="NSNextResponder" ref="224265230"/>
+ <int key="NSvFlags">1316</int>
+ <object class="NSPSMatrix" key="NSFrameMatrix"/>
+ <string key="NSFrame">{{9, 141}, {72, 37}}</string>
+ <reference key="NSSuperview" ref="224265230"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="970910459"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <int key="IBUIContentHorizontalAlignment">0</int>
+ <int key="IBUIContentVerticalAlignment">0</int>
+ <int key="IBUIButtonType">1</int>
+ <string key="IBUINormalTitle">History</string>
+ <reference key="IBUIHighlightedTitleColor" ref="239382325"/>
+ <object class="NSColor" key="IBUINormalTitleColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
+ </object>
+ <reference key="IBUINormalTitleShadowColor" ref="329616175"/>
+ <reference key="IBUIFontDescription" ref="119080232"/>
+ <reference key="IBUIFont" ref="102262143"/>
+ </object>
+ <object class="IBUIButton" id="970910459">
+ <reference key="NSNextResponder" ref="224265230"/>
+ <int key="NSvFlags">1316</int>
+ <object class="NSPSMatrix" key="NSFrameMatrix"/>
+ <string key="NSFrame">{{86, 141}, {72, 37}}</string>
+ <reference key="NSSuperview" ref="224265230"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="836113428"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <int key="IBUIContentHorizontalAlignment">0</int>
+ <int key="IBUIContentVerticalAlignment">0</int>
+ <int key="IBUIButtonType">1</int>
+ <string key="IBUINormalTitle">Time</string>
+ <reference key="IBUIHighlightedTitleColor" ref="239382325"/>
+ <object class="NSColor" key="IBUINormalTitleColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
+ </object>
+ <reference key="IBUINormalTitleShadowColor" ref="329616175"/>
+ <reference key="IBUIFontDescription" ref="119080232"/>
+ <reference key="IBUIFont" ref="102262143"/>
+ </object>
+ <object class="IBUIButton" id="836113428">
+ <reference key="NSNextResponder" ref="224265230"/>
+ <int key="NSvFlags">1316</int>
+ <object class="NSPSMatrix" key="NSFrameMatrix"/>
+ <string key="NSFrame">{{162, 141}, {72, 37}}</string>
+ <reference key="NSSuperview" ref="224265230"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="1004969161"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <int key="IBUIContentHorizontalAlignment">0</int>
+ <int key="IBUIContentVerticalAlignment">0</int>
+ <int key="IBUIButtonType">1</int>
+ <string key="IBUINormalTitle">UUID</string>
+ <reference key="IBUIHighlightedTitleColor" ref="239382325"/>
+ <object class="NSColor" key="IBUINormalTitleColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
+ </object>
+ <reference key="IBUINormalTitleShadowColor" ref="329616175"/>
+ <reference key="IBUIFontDescription" ref="119080232"/>
+ <reference key="IBUIFont" ref="102262143"/>
+ </object>
+ <object class="IBUIButton" id="1004969161">
+ <reference key="NSNextResponder" ref="224265230"/>
+ <int key="NSvFlags">1316</int>
+ <object class="NSPSMatrix" key="NSFrameMatrix"/>
+ <string key="NSFrame">{{242, 141}, {72, 37}}</string>
+ <reference key="NSSuperview" ref="224265230"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="199724633"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <int key="IBUIContentHorizontalAlignment">0</int>
+ <int key="IBUIContentVerticalAlignment">0</int>
+ <int key="IBUIButtonType">1</int>
+ <string key="IBUINormalTitle">Unit Test</string>
+ <reference key="IBUIHighlightedTitleColor" ref="239382325"/>
+ <object class="NSColor" key="IBUINormalTitleColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
+ </object>
+ <reference key="IBUINormalTitleShadowColor" ref="329616175"/>
+ <reference key="IBUIFontDescription" ref="119080232"/>
+ <reference key="IBUIFont" ref="102262143"/>
+ </object>
+ <object class="IBUITextView" id="551291897">
+ <reference key="NSNextResponder" ref="224265230"/>
+ <int key="NSvFlags">1316</int>
+ <string key="NSFrame">{{0, 227}, {320, 233}}</string>
+ <reference key="NSSuperview" ref="224265230"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC45ODgzNjI0NTYgMSAwLjc5NjcyMTA5MwA</bytes>
+ </object>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <bool key="IBUIMultipleTouchEnabled">YES</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIEditable">NO</bool>
+ <string key="IBUIText"/>
+ <object class="IBUITextInputTraits" key="IBUITextInputTraits">
+ <int key="IBUIAutocapitalizationType">2</int>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUIFontDescription" key="IBUIFontDescription">
+ <string key="name">Helvetica</string>
+ <string key="family">Helvetica</string>
+ <int key="traits">0</int>
+ <double key="pointSize">15</double>
+ </object>
+ <object class="NSFont" key="IBUIFont">
+ <string key="NSName">Helvetica</string>
+ <double key="NSSize">15</double>
+ <int key="NSfFlags">16</int>
+ </object>
+ </object>
+ <object class="IBUILabel" id="493746978">
+ <reference key="NSNextResponder" ref="224265230"/>
+ <int key="NSvFlags">1316</int>
+ <string key="NSFrame">{{13, 47}, {57, 21}}</string>
+ <reference key="NSSuperview" ref="224265230"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="710820235"/>
+ <string key="NSReuseIdentifierKey">_NS:9</string>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <int key="IBUIContentMode">7</int>
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <string key="IBUIText">Publish</string>
+ <object class="NSColor" key="IBUITextColor" id="36171636">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MCAwIDAAA</bytes>
+ </object>
+ <nil key="IBUIHighlightedColor"/>
+ <int key="IBUIBaselineAdjustment">0</int>
+ <float key="IBUIMinimumFontSize">10</float>
+ <object class="IBUIFontDescription" key="IBUIFontDescription" id="32436598">
+ <int key="type">1</int>
+ <double key="pointSize">17</double>
+ </object>
+ <object class="NSFont" key="IBUIFont" id="1069384859">
+ <string key="NSName">Helvetica</string>
+ <double key="NSSize">17</double>
+ <int key="NSfFlags">16</int>
+ </object>
+ </object>
+ <object class="IBUILabel" id="839023078">
+ <reference key="NSNextResponder" ref="224265230"/>
+ <int key="NSvFlags">1316</int>
+ <string key="NSFrame">{{13, 112}, {43, 21}}</string>
+ <reference key="NSSuperview" ref="224265230"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="34762702"/>
+ <string key="NSReuseIdentifierKey">_NS:9</string>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <int key="IBUIContentMode">7</int>
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <string key="IBUIText">Other</string>
+ <reference key="IBUITextColor" ref="36171636"/>
+ <nil key="IBUIHighlightedColor"/>
+ <int key="IBUIBaselineAdjustment">0</int>
+ <float key="IBUIMinimumFontSize">10</float>
+ <reference key="IBUIFontDescription" ref="32436598"/>
+ <reference key="IBUIFont" ref="1069384859"/>
+ </object>
+ <object class="IBUIButton" id="910418271">
+ <reference key="NSNextResponder" ref="224265230"/>
+ <int key="NSvFlags">1316</int>
+ <string key="NSFrame">{{9, 9}, {105, 37}}</string>
+ <reference key="NSSuperview" ref="224265230"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="234535704"/>
+ <string key="NSReuseIdentifierKey">_NS:9</string>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <int key="IBUIContentHorizontalAlignment">0</int>
+ <int key="IBUIContentVerticalAlignment">0</int>
+ <int key="IBUIButtonType">1</int>
+ <string key="IBUINormalTitle">Subscribe</string>
+ <reference key="IBUIHighlightedTitleColor" ref="239382325"/>
+ <object class="NSColor" key="IBUINormalTitleColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
+ </object>
+ <reference key="IBUINormalTitleShadowColor" ref="329616175"/>
+ <reference key="IBUIFontDescription" ref="119080232"/>
+ <reference key="IBUIFont" ref="102262143"/>
+ </object>
+ <object class="IBUIButton" id="234535704">
+ <reference key="NSNextResponder" ref="224265230"/>
+ <int key="NSvFlags">1316</int>
+ <string key="NSFrame">{{119, 9}, {104, 37}}</string>
+ <reference key="NSSuperview" ref="224265230"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="905003662"/>
+ <string key="NSReuseIdentifierKey">_NS:9</string>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <int key="IBUIContentHorizontalAlignment">0</int>
+ <int key="IBUIContentVerticalAlignment">0</int>
+ <int key="IBUIButtonType">1</int>
+ <string key="IBUINormalTitle">Unsubscribe</string>
+ <reference key="IBUIHighlightedTitleColor" ref="239382325"/>
+ <object class="NSColor" key="IBUINormalTitleColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
+ </object>
+ <reference key="IBUINormalTitleShadowColor" ref="329616175"/>
+ <reference key="IBUIFontDescription" ref="119080232"/>
+ <reference key="IBUIFont" ref="102262143"/>
+ </object>
+ <object class="IBUIButton" id="199724633">
+ <reference key="NSNextResponder" ref="224265230"/>
+ <int key="NSvFlags">1316</int>
+ <string key="NSFrame">{{9, 182}, {80, 37}}</string>
+ <reference key="NSSuperview" ref="224265230"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="551291897"/>
+ <string key="NSReuseIdentifierKey">_NS:9</string>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <int key="IBUIContentHorizontalAlignment">0</int>
+ <int key="IBUIContentVerticalAlignment">0</int>
+ <int key="IBUIButtonType">1</int>
+ <string key="IBUINormalTitle">Here Now</string>
+ <reference key="IBUIHighlightedTitleColor" ref="239382325"/>
+ <object class="NSColor" key="IBUINormalTitleColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
+ </object>
+ <reference key="IBUINormalTitleShadowColor" ref="329616175"/>
+ <reference key="IBUIFontDescription" ref="119080232"/>
+ <reference key="IBUIFont" ref="102262143"/>
+ </object>
+ <object class="IBUIButton" id="905003662">
+ <reference key="NSNextResponder" ref="224265230"/>
+ <int key="NSvFlags">1316</int>
+ <string key="NSFrame">{{229, 9}, {85, 37}}</string>
+ <reference key="NSSuperview" ref="224265230"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="493746978"/>
+ <string key="NSReuseIdentifierKey">_NS:9</string>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <int key="IBUIContentHorizontalAlignment">0</int>
+ <int key="IBUIContentVerticalAlignment">0</int>
+ <int key="IBUIButtonType">1</int>
+ <string key="IBUINormalTitle">Presence</string>
+ <reference key="IBUIHighlightedTitleColor" ref="239382325"/>
+ <object class="NSColor" key="IBUINormalTitleColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
+ </object>
+ <reference key="IBUINormalTitleShadowColor" ref="329616175"/>
+ <reference key="IBUIFontDescription" ref="119080232"/>
+ <reference key="IBUIFont" ref="102262143"/>
+ </object>
+ </object>
+ <object class="NSPSMatrix" key="NSFrameMatrix"/>
+ <string key="NSFrameSize">{320, 460}</string>
+ <reference key="NSSuperview" ref="448933780"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="910418271"/>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <bool key="IBUIMultipleTouchEnabled">YES</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ </object>
+ <string key="NSFrame">{{0, 20}, {320, 460}}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="224265230"/>
+ <string key="NSReuseIdentifierKey">_NS:9</string>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MQA</bytes>
+ <reference key="NSCustomColorSpace" ref="867276257"/>
+ </object>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
+ <int key="IBUIInterfaceOrientation">1</int>
+ <int key="interfaceOrientation">1</int>
+ </object>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIHorizontal">NO</bool>
+ </object>
+ </object>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <object class="NSMutableArray" key="connectionRecords">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="841351856"/>
+ <reference key="destination" ref="987256611"/>
+ </object>
+ <int key="connectionID">14</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">rootViewController</string>
+ <reference key="source" ref="380026005"/>
+ <reference key="destination" ref="983902574"/>
+ </object>
+ <int key="connectionID">58</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">window</string>
+ <reference key="source" ref="987256611"/>
+ <reference key="destination" ref="380026005"/>
+ </object>
+ <int key="connectionID">15</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">txt</string>
+ <reference key="source" ref="983902574"/>
+ <reference key="destination" ref="551291897"/>
+ </object>
+ <int key="connectionID">62</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchEventConnection" key="connection">
+ <string key="label">UUIDClick:</string>
+ <reference key="source" ref="836113428"/>
+ <reference key="destination" ref="983902574"/>
+ <int key="IBEventType">1</int>
+ </object>
+ <int key="connectionID">57</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchEventConnection" key="connection">
+ <string key="label">TimeClick:</string>
+ <reference key="source" ref="970910459"/>
+ <reference key="destination" ref="983902574"/>
+ <int key="IBEventType">1</int>
+ </object>
+ <int key="connectionID">56</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchEventConnection" key="connection">
+ <string key="label">HistoryClick:</string>
+ <reference key="source" ref="34762702"/>
+ <reference key="destination" ref="983902574"/>
+ <int key="IBEventType">1</int>
+ </object>
+ <int key="connectionID">55</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchEventConnection" key="connection">
+ <string key="label">DictionaryPublish:</string>
+ <reference key="source" ref="430720323"/>
+ <reference key="destination" ref="983902574"/>
+ <int key="IBEventType">1</int>
+ </object>
+ <int key="connectionID">54</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchEventConnection" key="connection">
+ <string key="label">ArrayPublish:</string>
+ <reference key="source" ref="235427550"/>
+ <reference key="destination" ref="983902574"/>
+ <int key="IBEventType">1</int>
+ </object>
+ <int key="connectionID">53</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchEventConnection" key="connection">
+ <string key="label">StringPublish:</string>
+ <reference key="source" ref="710820235"/>
+ <reference key="destination" ref="983902574"/>
+ <int key="IBEventType">1</int>
+ </object>
+ <int key="connectionID">52</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchEventConnection" key="connection">
+ <string key="label">unitTest:</string>
+ <reference key="source" ref="1004969161"/>
+ <reference key="destination" ref="983902574"/>
+ <int key="IBEventType">7</int>
+ </object>
+ <int key="connectionID">67</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchEventConnection" key="connection">
+ <string key="label">Subscribe:</string>
+ <reference key="source" ref="910418271"/>
+ <reference key="destination" ref="983902574"/>
+ <int key="IBEventType">7</int>
+ </object>
+ <int key="connectionID">70</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchEventConnection" key="connection">
+ <string key="label">Unsubscribe:</string>
+ <reference key="source" ref="234535704"/>
+ <reference key="destination" ref="983902574"/>
+ <int key="IBEventType">7</int>
+ </object>
+ <int key="connectionID">71</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchEventConnection" key="connection">
+ <string key="label">Here_Now:</string>
+ <reference key="source" ref="199724633"/>
+ <reference key="destination" ref="983902574"/>
+ <int key="IBEventType">7</int>
+ </object>
+ <int key="connectionID">74</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchEventConnection" key="connection">
+ <string key="label">Presence:</string>
+ <reference key="source" ref="905003662"/>
+ <reference key="destination" ref="983902574"/>
+ <int key="IBEventType">7</int>
+ </object>
+ <int key="connectionID">76</int>
+ </object>
+ </object>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <object class="NSArray" key="orderedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <object class="NSArray" key="object" id="0">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <reference key="children" ref="1000"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">2</int>
+ <reference key="object" ref="380026005"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="827338986"/>
+ </object>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-1</int>
+ <reference key="object" ref="841351856"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">File's Owner</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="450319686"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">13</int>
+ <reference key="object" ref="987256611"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">24</int>
+ <reference key="object" ref="827338986"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <reference key="parent" ref="380026005"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">41</int>
+ <reference key="object" ref="983902574"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="448933780"/>
+ </object>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">42</int>
+ <reference key="object" ref="448933780"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="224265230"/>
+ </object>
+ <reference key="parent" ref="983902574"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">43</int>
+ <reference key="object" ref="224265230"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="551291897"/>
+ <reference ref="493746978"/>
+ <reference ref="710820235"/>
+ <reference ref="235427550"/>
+ <reference ref="430720323"/>
+ <reference ref="970910459"/>
+ <reference ref="836113428"/>
+ <reference ref="839023078"/>
+ <reference ref="34762702"/>
+ <reference ref="1004969161"/>
+ <reference ref="910418271"/>
+ <reference ref="234535704"/>
+ <reference ref="199724633"/>
+ <reference ref="905003662"/>
+ </object>
+ <reference key="parent" ref="448933780"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">49</int>
+ <reference key="object" ref="710820235"/>
+ <reference key="parent" ref="224265230"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">48</int>
+ <reference key="object" ref="235427550"/>
+ <reference key="parent" ref="224265230"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">47</int>
+ <reference key="object" ref="430720323"/>
+ <reference key="parent" ref="224265230"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">46</int>
+ <reference key="object" ref="34762702"/>
+ <reference key="parent" ref="224265230"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">45</int>
+ <reference key="object" ref="970910459"/>
+ <reference key="parent" ref="224265230"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">44</int>
+ <reference key="object" ref="836113428"/>
+ <reference key="parent" ref="224265230"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">33</int>
+ <reference key="object" ref="551291897"/>
+ <reference key="parent" ref="224265230"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">63</int>
+ <reference key="object" ref="493746978"/>
+ <reference key="parent" ref="224265230"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">64</int>
+ <reference key="object" ref="839023078"/>
+ <reference key="parent" ref="224265230"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">65</int>
+ <reference key="object" ref="1004969161"/>
+ <reference key="parent" ref="224265230"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">68</int>
+ <reference key="object" ref="910418271"/>
+ <reference key="parent" ref="224265230"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">69</int>
+ <reference key="object" ref="234535704"/>
+ <reference key="parent" ref="224265230"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">72</int>
+ <reference key="object" ref="199724633"/>
+ <reference key="parent" ref="224265230"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">75</int>
+ <reference key="object" ref="905003662"/>
+ <reference key="parent" ref="224265230"/>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="flattenedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>-1.CustomClassName</string>
+ <string>-1.IBPluginDependency</string>
+ <string>-2.CustomClassName</string>
+ <string>-2.IBPluginDependency</string>
+ <string>13.CustomClassName</string>
+ <string>13.IBPluginDependency</string>
+ <string>2.IBAttributePlaceholdersKey</string>
+ <string>2.IBPluginDependency</string>
+ <string>24.IBPluginDependency</string>
+ <string>33.IBPluginDependency</string>
+ <string>41.CustomClassName</string>
+ <string>41.IBPluginDependency</string>
+ <string>42.IBPluginDependency</string>
+ <string>43.IBPluginDependency</string>
+ <string>43.IBUserGuides</string>
+ <string>43.showNotes</string>
+ <string>44.IBPluginDependency</string>
+ <string>44.IBUserGuides</string>
+ <string>44.showNotes</string>
+ <string>45.IBPluginDependency</string>
+ <string>45.IBUserGuides</string>
+ <string>45.showNotes</string>
+ <string>46.IBPluginDependency</string>
+ <string>46.IBUserGuides</string>
+ <string>46.showNotes</string>
+ <string>47.IBPluginDependency</string>
+ <string>47.IBUserGuides</string>
+ <string>47.showNotes</string>
+ <string>48.IBPluginDependency</string>
+ <string>48.IBUserGuides</string>
+ <string>48.showNotes</string>
+ <string>49.IBPluginDependency</string>
+ <string>49.IBUserGuides</string>
+ <string>49.showNotes</string>
+ <string>63.IBPluginDependency</string>
+ <string>64.IBPluginDependency</string>
+ <string>65.IBPluginDependency</string>
+ <string>65.IBUserGuides</string>
+ <string>65.showNotes</string>
+ <string>68.IBPluginDependency</string>
+ <string>69.IBPluginDependency</string>
+ <string>72.IBPluginDependency</string>
+ <string>75.IBPluginDependency</string>
+ </object>
+ <object class="NSArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>UIApplication</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>UIResponder</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>AppDelegate</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <object class="NSMutableDictionary">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <reference key="dict.values" ref="0"/>
+ </object>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>iPhoneTest</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <reference ref="0"/>
+ <boolean value="NO"/>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <reference ref="0"/>
+ <boolean value="NO"/>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <reference ref="0"/>
+ <boolean value="NO"/>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <reference ref="0"/>
+ <boolean value="NO"/>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <reference ref="0"/>
+ <boolean value="NO"/>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <reference ref="0"/>
+ <boolean value="NO"/>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <reference ref="0"/>
+ <boolean value="NO"/>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <reference ref="0"/>
+ <boolean value="NO"/>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="unlocalizedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <reference key="dict.values" ref="0"/>
+ </object>
+ <nil key="activeLocalization"/>
+ <object class="NSMutableDictionary" key="localizations">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <reference key="dict.values" ref="0"/>
+ </object>
+ <nil key="sourceID"/>
+ <int key="maxID">76</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <object class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">AppDelegate</string>
+ <string key="superclassName">UIResponder</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/AppDelegate.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">iPhoneTest</string>
+ <string key="superclassName">UIViewController</string>
+ <object class="NSMutableDictionary" key="actions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>ArrayPublish:</string>
+ <string>DictionaryPublish:</string>
+ <string>Here_Now:</string>
+ <string>HistoryClick:</string>
+ <string>Presence:</string>
+ <string>StringPublish:</string>
+ <string>Subscribe:</string>
+ <string>TimeClick:</string>
+ <string>UUIDClick:</string>
+ <string>Unsubscribe:</string>
+ <string>unitTest:</string>
+ </object>
+ <object class="NSArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="actionInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>ArrayPublish:</string>
+ <string>DictionaryPublish:</string>
+ <string>Here_Now:</string>
+ <string>HistoryClick:</string>
+ <string>Presence:</string>
+ <string>StringPublish:</string>
+ <string>Subscribe:</string>
+ <string>TimeClick:</string>
+ <string>UUIDClick:</string>
+ <string>Unsubscribe:</string>
+ <string>unitTest:</string>
+ </object>
+ <object class="NSArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBActionInfo">
+ <string key="name">ArrayPublish:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">DictionaryPublish:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">Here_Now:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">HistoryClick:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">Presence:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">StringPublish:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">Subscribe:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">TimeClick:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">UUIDClick:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">Unsubscribe:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">unitTest:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="outlets">
+ <string key="NS.key.0">txt</string>
+ <string key="NS.object.0">UITextView</string>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <string key="NS.key.0">txt</string>
+ <object class="IBToOneOutletInfo" key="NS.object.0">
+ <string key="name">txt</string>
+ <string key="candidateClassName">UITextView</string>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/iPhoneTest.h</string>
+ </object>
+ </object>
+ </object>
+ </object>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
+ <real value="1296" key="NS.object.0"/>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
+ <integer value="3100" key="NS.object.0"/>
+ </object>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ <string key="IBCocoaTouchPluginVersion">1498</string>
+ </data>
+</archive>
View
23 objective-c/3.3/Pubnub/PubNub/Base64.h
@@ -0,0 +1,23 @@
+//
+// Base64.h
+// CryptTest
+//
+// Created by Kiichi Takeuchi on 4/20/10.
+// Copyright 2010 ObjectGraph LLC. All rights reserved.
+//
+// Original Source Code is donated by Cyrus
+// Public Domain License
+// http://www.cocoadev.com/index.pl?BaseSixtyFour
+
+#import <Foundation/Foundation.h>
+
+
+@interface Base64 : NSObject {
+
+}
++ (void) initialize;
++ (NSString*) encode:(const uint8_t*) input length:(NSInteger) length;
++ (NSString*) encode:(NSData*) rawBytes;
++ (NSData*) decode:(const char*) string length:(NSInteger) inputLength;
++ (NSData*) decode:(NSString*) string;
+@end
View
97 objective-c/3.3/Pubnub/PubNub/Base64.m
@@ -0,0 +1,97 @@
+//
+// Base64.m
+// CryptTest
+//
+// Created by Kiichi Takeuchi on 4/20/10.
+// Copyright 2010 ObjectGraph LLC. All rights reserved.
+//
+
+#import "Base64.h"
+
+
+@implementation Base64
+#define ArrayLength(x) (sizeof(x)/sizeof(*(x)))
+
+static char encodingTable[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+static char decodingTable[128];
+
++ (void) initialize {
+ if (self == [Base64 class]) {
+ memset(decodingTable, 0, ArrayLength(decodingTable));
+ for (NSInteger i = 0; i < ArrayLength(encodingTable); i++) {
+ decodingTable[encodingTable[i]] = i;
+ }
+ }
+}
+
+
++ (NSString*) encode:(const uint8_t*) input length:(NSInteger) length {
+ NSMutableData* data = [NSMutableData dataWithLength:((length + 2) / 3) * 4];
+ uint8_t* output = (uint8_t*)data.mutableBytes;
+
+ for (NSInteger i = 0; i < length; i += 3) {
+ NSInteger value = 0;
+ for (NSInteger j = i; j < (i + 3); j++) {
+ value <<= 8;
+
+ if (j < length) {
+ value |= (0xFF & input[j]);
+ }
+ }
+
+ NSInteger index = (i / 3) * 4;
+ output[index + 0] = encodingTable[(value >> 18) & 0x3F];
+ output[index + 1] = encodingTable[(value >> 12) & 0x3F];
+ output[index + 2] = (i + 1) < length ? encodingTable[(value >> 6) & 0x3F] : '=';
+ output[index + 3] = (i + 2) < length ? encodingTable[(value >> 0) & 0x3F] : '=';
+ }
+
+ return [[NSString alloc] initWithData:data
+ encoding:NSASCIIStringEncoding] ;
+}
+
+
++ (NSString*) encode:(NSData*) rawBytes {
+ return [self encode:(const uint8_t*) rawBytes.bytes length:rawBytes.length];
+}
+
+
++ (NSData*) decode:(const char*) string length:(NSInteger) inputLength {
+ if ((string == NULL) || (inputLength % 4 != 0)) {
+ return nil;
+ }
+
+ while (inputLength > 0 && string[inputLength - 1] == '=') {
+ inputLength--;
+ }
+
+ NSInteger outputLength = inputLength * 3 / 4;
+ NSMutableData* data = [NSMutableData dataWithLength:outputLength];
+ uint8_t* output = data.mutableBytes;
+
+ NSInteger inputPoint = 0;
+ NSInteger outputPoint = 0;
+ while (inputPoint < inputLength) {
+ char i0 = string[inputPoint++];
+ char i1 = string[inputPoint++];
+ char i2 = inputPoint < inputLength ? string[inputPoint++] : 'A'; /* 'A' will decode to \0 */
+ char i3 = inputPoint < inputLength ? string[inputPoint++] : 'A';
+
+ output[outputPoint++] = (decodingTable[i0] << 2) | (decodingTable[i1] >> 4);
+ if (outputPoint < outputLength) {
+ output[outputPoint++] = ((decodingTable[i1] & 0xf) << 4) | (decodingTable[i2] >> 2);
+ }
+ if (outputPoint < outputLength) {
+ output[outputPoint++] = ((decodingTable[i2] & 0x3) << 6) | decodingTable[i3];
+ }
+ }
+
+ return data;
+}
+
+
++ (NSData*) decode:(NSString*) string {
+ return [self decode:[string cStringUsingEncoding:NSASCIIStringEncoding] length:string.length];
+}
+
+@end
View
98 objective-c/3.3/Pubnub/PubNub/CEPubnub.h
@@ -0,0 +1,98 @@
+ // Copyright 2011 Cooliris, 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>
+
+@class CEPubnub;
+
+@protocol CEPubnubDelegate <NSObject>
+@optional
+- (void) pubnub:(CEPubnub*)pubnub didSucceedPublishingMessageToChannel:(NSString*)channel withResponce: (id)responce message:(id)message;
+- (void) pubnub:(CEPubnub*)pubnub didFailPublishingMessageToChannel:(NSString*)channel error:(NSString*)error message:(id)message; // "error" may be nil
+
+ //- (void) pubnub:(PubNub*)pubnub didReceiveMessage:(NSDictionary*)message onChannel:(NSString*)channel;
+
+- (void)pubnub:(CEPubnub *)pubnub subscriptionDidReceiveDictionary:(NSDictionary *)message onChannel:(NSString *)channel;
+- (void)pubnub:(CEPubnub *)pubnub subscriptionDidReceiveArray:(NSArray *)message onChannel:(NSString *)channel;
+- (void)pubnub:(CEPubnub *)pubnub subscriptionDidReceiveString:(NSString *)message onChannel:(NSString *)channel;
+- (void)pubnub:(CEPubnub *)pubnub subscriptionDidFailWithResponse:(NSString *)message onChannel:(NSString *)channel;
+
+- (void) pubnub:(CEPubnub*)pubnub didFetchHistory:(NSArray*)messages forChannel:(NSString*)channel;
+- (void) pubnub:(CEPubnub*)pubnub didFailFetchHistoryOnChannel:(NSString*)channel withError:(id)error;
+- (void) pubnub:(CEPubnub*)pubnub didReceiveTime:(NSTimeInterval)time; // "time" will be NAN on failure
+
+- (void) pubnub:(CEPubnub*)pubnub ConnectToChannel:(NSString*)channel ;
+- (void) pubnub:(CEPubnub*)pubnub DisconnectToChannel:(NSString*)channel ;
+- (void) pubnub:(CEPubnub*)pubnub Re_ConnectToChannel:(NSString*)channel ;
+
+- (void)pubnub:(CEPubnub *)pubnub presence:(NSDictionary *)message onChannel:(NSString *)channel;
+
+- (void)pubnub:(CEPubnub *)pubnub here_now:(NSDictionary *)message onChannel:(NSString *)channel;
+@end
+
+ // All operations happen on the main thread
+ // Messages must be JSON compatible
+@interface CEPubnub : NSObject {
+@private
+ __unsafe_unretained id<CEPubnubDelegate> _delegate;
+ NSString* _publishKey;
+ NSString* _subscribeKey;
+ NSString* _secretKey;
+ NSString* _host;
+ NSString* _cipherKey;
+ NSString* _uuids;
+
+ NSMutableSet* _connections;
+ NSMutableSet * _subscriptions;
+}
+@property(nonatomic, assign) id<CEPubnubDelegate> delegate;
+- (CEPubnub*) initWithSubscribeKey:(NSString*)subscribeKey useSSL:(BOOL)useSSL;
+- (CEPubnub*) initWithPublishKey:(NSString*)publishKey
+ subscribeKey:(NSString*)subscribeKey
+ secretKey:(NSString*)secretKey
+ useSSL:(BOOL)useSSL;
+
+- (CEPubnub*) initWithPublishKey:(NSString*)publishKey // May be nil if -publishMessage:toChannel: is never used
+ subscribeKey:(NSString*)subscribeKey
+ secretKey:(NSString*)secretKey // May be nil if -publishMessage:toChannel: is never used
+ useSSL:(BOOL)useSSL
+ cipherKey:(NSString*)cipherKey
+ origin:(NSString*)origin;
+
+- (CEPubnub*) initWithPublishKey:(NSString*)publishKey
+ subscribeKey:(NSString*)subscribeKey
+ secretKey:(NSString*)secretKey
+ cipherKey:(NSString*)cipherKey
+ useSSL:(BOOL)useSSL;
+
+- (void) publish:(NSDictionary * )arg1;
+- (void) publish:(NSString * )message onChannel:(NSString *) channel;
+- (void) fetchHistory:(NSDictionary * )arg1;
+
+- (void) unsubscribeFromAllChannels;
+- (void) getTime;
++ (NSString*) getUUID;
+- (void) subscribe:(NSString*)channel; // Does nothing if already subscribed
+- (void) unsubscribeFromChannel:(NSString*)channel; // Does nothing if not subscribed
+- (BOOL) isSubscribedToChannel:(NSString*)channel;
+- (void) here_now:(NSString*)channel;
+- (void) presence:(NSString*)channel;
+@end
+
+
+@interface ChannelStatus :NSObject
+@property(nonatomic, retain) NSString* channel;
+@property(nonatomic, nonatomic) BOOL connected;
+@property(nonatomic, nonatomic) BOOL first;
+@end
View
807 objective-c/3.3/Pubnub/PubNub/CEPubnub.m
@@ -0,0 +1,807 @@
+ // Copyright 2011 Cooliris, 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 "CEPubnub.h"
+#import "JSON.h"
+#import "Common.h"
+
+#define kDefaultOrigin @"pubsub.pubnub.com"
+#define kMaxHistorySize 100 // From documentation
+#define kConnectionTimeOut 310.0 // From https://github.com/jazzychad/CEPubnub/blob/master/CEPubnub/CEPubnubRequest.m
+#define kMinRetryInterval 5.0
+#define kInitialTimeToken @"0"
+
+typedef enum {
+ kCommand_Undefined = 0,
+ kCommand_SendMessage,
+ kCommand_ReceiveMessage,
+ kCommand_FetchHistory,
+ kCommand_GetTime,
+ kCommand_Here_Now
+} Command;
+
+@interface PubNubConnection : NSURLConnection {
+@private
+ CEPubnub * _pubNub;
+ Command _command;
+ NSString* _channel;
+ id _message;
+
+ NSHTTPURLResponse* _response;
+ NSMutableData* _data;
+}
+@property(nonatomic, readonly) Command command;
+@property(nonatomic, readonly) NSString* channel;
+@property(nonatomic, readonly) NSData* data;
+@property(nonatomic, readonly) id message;
+- (id) initWithPubNub:(CEPubnub*)pubNub url:(NSURL*)url command:(Command)command channel:(NSString*)channel;
+@end
+
+@interface CEPubnub ()
+- (void) connection:(PubNubConnection*)connection didCompleteWithResponse:(id)response;
+@end
+
+@implementation ChannelStatus
+@synthesize connected,channel,first;
+@end
+
+@implementation PubNubConnection
+
+@synthesize command=_command, channel=_channel, data=_data, message=_message;
+
+- (id) initWithPubNub:(CEPubnub*)pubNub url:(NSURL*)url command:(Command)command channel:(NSString*)channel {
+ NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:url
+ cachePolicy:NSURLRequestReloadIgnoringCacheData
+ timeoutInterval:kConnectionTimeOut];
+ [request setValue:@"V" forHTTPHeaderField:@"3.1"];
+ [request setValue:@"User-Agent" forHTTPHeaderField:@"Obj-C-iOS"];
+ [request setValue:@"Accept" forHTTPHeaderField:@"gzip"];
+
+ // [request setValue:@"close" forHTTPHeaderField:@"Connection"];
+ if ((self = [super initWithRequest:request delegate:self])) {
+ _command = command;
+ _pubNub = pubNub;
+ _channel = [channel copy];
+ }
+ return self;
+}
+
+- (id) initWithPubNub:(CEPubnub*)pubNub url:(NSURL*)url command:(Command)command channel:(NSString*)channel message:(id)message{
+ NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:url
+ cachePolicy:NSURLRequestReloadIgnoringCacheData
+ timeoutInterval:kConnectionTimeOut];
+ [request setValue:@"V" forHTTPHeaderField:@"3.1"];
+ [request setValue:@"User-Agent" forHTTPHeaderField:@"Obj-C-iOS"];
+ [request setValue:@"Accept" forHTTPHeaderField:@"gzip"];
+
+ // [request setValue:@"close" forHTTPHeaderField:@"Connection"];
+ if ((self = [super initWithRequest:request delegate:self])) {
+ _command = command;
+ _pubNub = pubNub;
+ _channel = [channel copy];
+ _message=[message copy];
+ }
+
+ return self;
+}
+
+- (void) connection:(NSURLConnection*)connection didReceiveResponse:(NSURLResponse*)response {
+ // DCHECK(_response == nil);
+ _response = (NSHTTPURLResponse*)[response copy];
+}
+
+- (void) connection:(NSURLConnection*)connection didReceiveData:(NSData*)data {
+ if (_data == nil) {
+ _data = [[NSMutableData alloc] initWithData:data];
+ } else {
+ [_data appendData:data];
+ }
+}
+
+- (void) connectionDidFinishLoading:(NSURLConnection*)connection {
+ if (_response.statusCode == 200) {
+ // NSString* contente = [[_response allHeaderFields] objectForKey:@"Content-Encoding"];
+ // NSLog(@"PubNub request returned Content-Encoding : %@", contente);
+ NSString* contentType = [[_response allHeaderFields] objectForKey:@"Content-Type"];
+ if ([contentType hasPrefix:@"text/javascript"] && [contentType containsString:@"UTF-8"]) { // Should be [text/javascript; charset="UTF-8"] but is sometimes different on 3G
+ [_pubNub connection:self didCompleteWithResponse:JSONParseData(_data)];
+ // NSLog(@"PubNub request returned unexpected content type: %@", contentType);
+ } else if ([contentType hasPrefix:@"text/javascript"])
+ {
+ if(_command== kCommand_Here_Now)
+ {
+ [_pubNub connection:self didCompleteWithResponse:JSONParseData(_data)];
+ }
+ }else {
+ NSLog(@"PubNub request returned unexpected content type: %@", contentType);
+ switch ([self command]) {
+ case kCommand_SendMessage:
+ [_pubNub connection:self didCompleteWithResponse:[NSArray arrayWithObjects:@"0", [NSString stringWithFormat:@"PubNub request returned unexpected content type: %@", contentType ] ,@"0", nil]];
+ break;
+
+ default:
+ [_pubNub connection:self didCompleteWithResponse:nil];
+ break;
+ }
+
+ }
+ } else {
+ NSLog(@"PubNub request failed with HTTP status code %i", _response.statusCode);
+ switch ([self command]) {
+ case kCommand_SendMessage:
+ [_pubNub connection:self didCompleteWithResponse:[NSArray arrayWithObjects:@"0", [NSString stringWithFormat:@"PubNub request failed with HTTP status code %i", _response.statusCode ] ,@"0", nil]];
+ break;
+
+ default:
+ [_pubNub connection:self didCompleteWithResponse:nil];
+ break;
+ }
+
+ }
+}
+
+- (void) connection:(NSURLConnection*)connection didFailWithError:(NSError*)error {
+ if ([error.domain isEqualToString:NSURLErrorDomain] && (error.code == NSURLErrorNotConnectedToInternet)) {
+ NSLog(@"PubNub request failed due to missing Internet connection");
+ switch ([self command]) {
+ case kCommand_SendMessage:
+ [_pubNub connection:self didCompleteWithResponse:[NSArray arrayWithObjects:@"0",@"PubNub request failed due to missing Internet connection" ,@"0", nil]];
+ break;
+
+ default:
+ [_pubNub connection:self didCompleteWithResponse:nil];
+ break;
+ }
+
+ } else {
+ switch ([self command]) {
+ case kCommand_SendMessage:
+ [_pubNub connection:self didCompleteWithResponse:[NSArray arrayWithObjects:@"0", [NSString stringWithFormat:@"PubNub request failed with error: %@", error ] ,@"0", nil]];
+ break;