Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

add examples

  • Loading branch information...
commit a5a3e8597e7617784c0c73e36742ecf30ae006de 1 parent 4729bb0
@sridatta authored
Showing with 3,284 additions and 12 deletions.
  1. +16 −0 chat/AndroidChat/AndroidManifest.xml
  2. BIN  chat/AndroidChat/bin/BridgeAndroidTest.apk
  3. BIN  chat/AndroidChat/bin/classes.dex
  4. +3 −0  chat/AndroidChat/bin/jarlist.cache
  5. BIN  chat/AndroidChat/bin/res/drawable-hdpi/icon.png
  6. BIN  chat/AndroidChat/bin/res/drawable-ldpi/icon.png
  7. BIN  chat/AndroidChat/bin/res/drawable-mdpi/icon.png
  8. BIN  chat/AndroidChat/bin/resources.ap_
  9. +6 −0 chat/AndroidChat/gen/com/flotype/bridge/BuildConfig.java
  10. +28 −0 chat/AndroidChat/gen/com/flotype/bridge/R.java
  11. +3 −0  chat/AndroidChat/lint.xml
  12. +31 −0 chat/AndroidChat/pom.xml
  13. +36 −0 chat/AndroidChat/proguard.cfg
  14. +14 −0 chat/AndroidChat/project.properties
  15. BIN  chat/AndroidChat/res/drawable-hdpi/icon.png
  16. BIN  chat/AndroidChat/res/drawable-ldpi/icon.png
  17. BIN  chat/AndroidChat/res/drawable-mdpi/icon.png
  18. +38 −0 chat/AndroidChat/res/layout/main.xml
  19. +5 −0 chat/AndroidChat/res/values/strings.xml
  20. +80 −0 chat/AndroidChat/src/com/flotype/bridge/MainActivity.java
  21. +1 −1  readline.js → chat/chat.js
  22. +1 −1  readline.rb → chat/chat.rb
  23. +16 −0 chat/chatserver.py
  24. +306 −0 fakebook/Fakebook/Fakebook.xcodeproj/project.pbxproj
  25. +7 −0 fakebook/Fakebook/Fakebook.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  26. BIN  ...ebook/Fakebook.xcodeproj/project.xcworkspace/xcuserdata/sridatta.xcuserdatad/UserInterfaceState.xcuserstate
  27. +85 −0 fakebook/Fakebook/Fakebook.xcodeproj/xcuserdata/sridatta.xcuserdatad/xcschemes/Fakebook.xcscheme
  28. +22 −0 fakebook/Fakebook/Fakebook.xcodeproj/xcuserdata/sridatta.xcuserdatad/xcschemes/xcschememanagement.plist
  29. +20 −0 fakebook/Fakebook/Fakebook/AppDelegate.h
  30. +57 −0 fakebook/Fakebook/Fakebook/AppDelegate.m
  31. +49 −0 fakebook/Fakebook/Fakebook/Fakebook-Info.plist
  32. +14 −0 fakebook/Fakebook/Fakebook/Fakebook-Prefix.pch
  33. +14 −0 fakebook/Fakebook/Fakebook/ViewController.h
  34. +48 −0 fakebook/Fakebook/Fakebook/ViewController.m
  35. +2 −0  fakebook/Fakebook/Fakebook/en.lproj/InfoPlist.strings
  36. +27 −0 fakebook/Fakebook/Fakebook/en.lproj/MainStoryboard_iPad.storyboard
  37. +51 −0 fakebook/Fakebook/Fakebook/en.lproj/MainStoryboard_iPhone.storyboard
  38. +18 −0 fakebook/Fakebook/Fakebook/main.m
  39. +10 −0 fakebook/analytics.py
  40. +9 −0 fakebook/bridgebook.js
  41. +31 −0 fakebook/indexer.rb
  42. +41 −0 fakebook/posts.rb
  43. +121 −0 fakebook/public/page.html
  44. +40 −0 fakebook/public/style.css
  45. +317 −0 greeter/Greeter/Greeter.xcodeproj/project.pbxproj
  46. +7 −0 greeter/Greeter/Greeter.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  47. BIN  ...reeter/Greeter.xcodeproj/project.xcworkspace/xcuserdata/sridatta.xcuserdatad/UserInterfaceState.xcuserstate
  48. +20 −0 greeter/Greeter/Greeter.xcodeproj/xcuserdata/sridatta.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist
  49. +99 −0 greeter/Greeter/Greeter.xcodeproj/xcuserdata/sridatta.xcuserdatad/xcschemes/Greeter.xcscheme
  50. +22 −0 greeter/Greeter/Greeter.xcodeproj/xcuserdata/sridatta.xcuserdatad/xcschemes/xcschememanagement.plist
  51. +23 −0 greeter/Greeter/Greeter/AppDelegate.h
  52. +59 −0 greeter/Greeter/Greeter/AppDelegate.m
  53. +49 −0 greeter/Greeter/Greeter/Greeter-Info.plist
  54. +14 −0 greeter/Greeter/Greeter/Greeter-Prefix.pch
  55. +15 −0 greeter/Greeter/Greeter/ViewController.h
  56. +51 −0 greeter/Greeter/Greeter/ViewController.m
  57. +2 −0  greeter/Greeter/Greeter/en.lproj/InfoPlist.strings
  58. +27 −0 greeter/Greeter/Greeter/en.lproj/MainStoryboard_iPad.storyboard
  59. +60 −0 greeter/Greeter/Greeter/en.lproj/MainStoryboard_iPhone.storyboard
  60. +18 −0 greeter/Greeter/Greeter/main.m
  61. +2 −1  { → greeter}/greet-node.js
  62. +9 −0 greeter/greet-web.js
  63. +11 −0 greeter/greeter.py
  64. +2 −0  { → greeter}/public/greet-browser.html
  65. +2 −0  greeter/public/js/bridge.min.js
  66. +14 −0 greeter/public/js/greet-browser.js
  67. +0 −9 public/js/greet-browser.js
  68. +15 −0 rails integration/.gitignore
  69. +10 −0 rails integration/analytics.py
  70. +41 −0 rails integration/rails app/Gemfile
  71. +124 −0 rails integration/rails app/Gemfile.lock
  72. +9 −0 rails integration/rails app/README.rdoc
  73. +7 −0 rails integration/rails app/Rakefile
  74. BIN  rails integration/rails app/app/assets/images/rails.png
  75. +15 −0 rails integration/rails app/app/assets/javascripts/application.js
  76. +6 −0 rails integration/rails app/app/assets/javascripts/articles.js.coffee
  77. +3 −0  rails integration/rails app/app/assets/javascripts/sessions.js.coffee
  78. +3 −0  rails integration/rails app/app/assets/javascripts/users.js.coffee
  79. +140 −0 rails integration/rails app/app/assets/stylesheets/application.css
  80. +24 −0 rails integration/rails app/app/assets/stylesheets/articles.css.scss
  81. +3 −0  rails integration/rails app/app/assets/stylesheets/sessions.css.scss
  82. +3 −0  rails integration/rails app/app/assets/stylesheets/users.css.scss
  83. +14 −0 rails integration/rails app/app/controllers/application_controller.rb
  84. +24 −0 rails integration/rails app/app/controllers/articles_controller.rb
  85. +26 −0 rails integration/rails app/app/controllers/sessions_controller.rb
  86. +15 −0 rails integration/rails app/app/controllers/users_controller.rb
  87. +2 −0  rails integration/rails app/app/helpers/application_helper.rb
  88. +2 −0  rails integration/rails app/app/helpers/articles_helper.rb
  89. +2 −0  rails integration/rails app/app/helpers/sessions_helper.rb
  90. +2 −0  rails integration/rails app/app/helpers/users_helper.rb
  91. 0  rails integration/rails app/app/mailers/.gitkeep
  92. 0  rails integration/rails app/app/models/.gitkeep
  93. +3 −0  rails integration/rails app/app/models/article.rb
  94. +7 −0 rails integration/rails app/app/models/user.rb
  95. +29 −0 rails integration/rails app/app/views/articles/edit.html.erb
  96. +3 −0  rails integration/rails app/app/views/articles/index.html.erb
  97. +6 −0 rails integration/rails app/app/views/articles/show.html.erb
  98. +28 −0 rails integration/rails app/app/views/layouts/application.html.erb
  99. +13 −0 rails integration/rails app/app/views/sessions/new.html.erb
  100. +28 −0 rails integration/rails app/app/views/users/new.html.erb
  101. +4 −0 rails integration/rails app/config.ru
  102. +59 −0 rails integration/rails app/config/application.rb
  103. +6 −0 rails integration/rails app/config/boot.rb
  104. +25 −0 rails integration/rails app/config/database.yml
  105. +5 −0 rails integration/rails app/config/environment.rb
  106. +37 −0 rails integration/rails app/config/environments/development.rb
  107. +67 −0 rails integration/rails app/config/environments/production.rb
  108. +37 −0 rails integration/rails app/config/environments/test.rb
  109. +7 −0 rails integration/rails app/config/initializers/backtrace_silencers.rb
  110. +7 −0 rails integration/rails app/config/initializers/bridge.rb
  111. +15 −0 rails integration/rails app/config/initializers/inflections.rb
  112. +5 −0 rails integration/rails app/config/initializers/mime_types.rb
  113. +7 −0 rails integration/rails app/config/initializers/secret_token.rb
  114. +8 −0 rails integration/rails app/config/initializers/session_store.rb
  115. +14 −0 rails integration/rails app/config/initializers/wrap_parameters.rb
  116. +5 −0 rails integration/rails app/config/locales/en.yml
  117. +11 −0 rails integration/rails app/config/routes.rb
  118. BIN  rails integration/rails app/db/development.sqlite3
  119. +12 −0 rails integration/rails app/db/migrate/20120130184408_create_articles.rb
  120. +10 −0 rails integration/rails app/db/migrate/20120224225432_create_users.rb
  121. +32 −0 rails integration/rails app/db/schema.rb
  122. +7 −0 rails integration/rails app/db/seeds.rb
  123. 0  rails integration/rails app/db/test.sqlite3
  124. 0  rails integration/rails app/lib/assets/.gitkeep
  125. 0  rails integration/rails app/lib/tasks/.gitkeep
  126. 0  rails integration/rails app/log/.gitkeep
  127. +26 −0 rails integration/rails app/public/404.html
  128. +26 −0 rails integration/rails app/public/422.html
  129. +25 −0 rails integration/rails app/public/500.html
  130. 0  rails integration/rails app/public/favicon.ico
  131. +5 −0 rails integration/rails app/public/robots.txt
  132. +6 −0 rails integration/rails app/script/rails
  133. 0  rails integration/rails app/test/fixtures/.gitkeep
  134. +11 −0 rails integration/rails app/test/fixtures/articles.yml
  135. +9 −0 rails integration/rails app/test/fixtures/users.yml
  136. 0  rails integration/rails app/test/functional/.gitkeep
  137. +49 −0 rails integration/rails app/test/functional/articles_controller_test.rb
  138. +9 −0 rails integration/rails app/test/functional/sessions_controller_test.rb
  139. +7 −0 rails integration/rails app/test/functional/users_controller_test.rb
  140. 0  rails integration/rails app/test/integration/.gitkeep
  141. +12 −0 rails integration/rails app/test/performance/browsing_test.rb
  142. +13 −0 rails integration/rails app/test/test_helper.rb
  143. 0  rails integration/rails app/test/unit/.gitkeep
  144. +7 −0 rails integration/rails app/test/unit/article_test.rb
  145. +4 −0 rails integration/rails app/test/unit/helpers/articles_helper_test.rb
  146. +4 −0 rails integration/rails app/test/unit/helpers/sessions_helper_test.rb
  147. +4 −0 rails integration/rails app/test/unit/helpers/users_helper_test.rb
  148. +7 −0 rails integration/rails app/test/unit/user_test.rb
  149. 0  rails integration/rails app/vendor/assets/javascripts/.gitkeep
  150. 0  rails integration/rails app/vendor/assets/stylesheets/.gitkeep
  151. 0  rails integration/rails app/vendor/plugins/.gitkeep
View
16 chat/AndroidChat/AndroidManifest.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.flotype.bridge" android:versionCode="1"
+ android:versionName="1.0">
+
+
+ <application android:icon="@drawable/icon" android:label="@string/app_name">
+ <activity android:name=".MainActivity" android:label="@string/app_name">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ </application>
+ <uses-permission android:name="android.permission.INTERNET"></uses-permission>
+</manifest>
View
BIN  chat/AndroidChat/bin/BridgeAndroidTest.apk
Binary file not shown
View
BIN  chat/AndroidChat/bin/classes.dex
Binary file not shown
View
3  chat/AndroidChat/bin/jarlist.cache
@@ -0,0 +1,3 @@
+# cache for current jar dependecy. DO NOT EDIT.
+# format is <lastModified> <length> <SHA-1> <path>
+# Encoding is UTF-8
View
BIN  chat/AndroidChat/bin/res/drawable-hdpi/icon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  chat/AndroidChat/bin/res/drawable-ldpi/icon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  chat/AndroidChat/bin/res/drawable-mdpi/icon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  chat/AndroidChat/bin/resources.ap_
Binary file not shown
View
6 chat/AndroidChat/gen/com/flotype/bridge/BuildConfig.java
@@ -0,0 +1,6 @@
+/** Automatically generated file. DO NOT MODIFY */
+package com.flotype.bridge;
+
+public final class BuildConfig {
+ public final static boolean DEBUG = true;
+}
View
28 chat/AndroidChat/gen/com/flotype/bridge/R.java
@@ -0,0 +1,28 @@
+/* AUTO-GENERATED FILE. DO NOT MODIFY.
+ *
+ * This class was automatically generated by the
+ * aapt tool from the resource data it found. It
+ * should not be modified by hand.
+ */
+
+package com.flotype.bridge;
+
+public final class R {
+ public static final class attr {
+ }
+ public static final class drawable {
+ public static final int icon=0x7f020000;
+ }
+ public static final class id {
+ public static final int button1=0x7f050002;
+ public static final int editText1=0x7f050001;
+ public static final int text=0x7f050000;
+ }
+ public static final class layout {
+ public static final int main=0x7f030000;
+ }
+ public static final class string {
+ public static final int app_name=0x7f040001;
+ public static final int hello=0x7f040000;
+ }
+}
View
3  chat/AndroidChat/lint.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<lint>
+</lint>
View
31 chat/AndroidChat/pom.xml
@@ -0,0 +1,31 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>BridgeAndroidTest</artifactId>
+ <name>asdf</name>
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+ <dependencies>
+ <dependency>
+ <groupId>com.flotype.bridge</groupId>
+ <artifactId>bridge-java-core</artifactId>
+ <version>0.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ <version>1.0.3</version>
+ </dependency>
+ </dependencies>
+
+ <url>http://flotype.com</url>
+ <organization>
+ <name>Flotype Inc.</name>
+ <url>http://flotype.com</url>
+ </organization>
+ <scm>
+ <url>http://git.flotype.com/bridge-java</url>
+ </scm>
+ <version>0.0.1-snapshot</version>
+ <groupId>com.sridattalabs</groupId>
+</project>
View
36 chat/AndroidChat/proguard.cfg
@@ -0,0 +1,36 @@
+-optimizationpasses 5
+-dontusemixedcaseclassnames
+-dontskipnonpubliclibraryclasses
+-dontpreverify
+-verbose
+-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
+
+-keep public class * extends android.app.Activity
+-keep public class * extends android.app.Application
+-keep public class * extends android.app.Service
+-keep public class * extends android.content.BroadcastReceiver
+-keep public class * extends android.content.ContentProvider
+-keep public class * extends android.app.backup.BackupAgentHelper
+-keep public class * extends android.preference.Preference
+-keep public class com.android.vending.licensing.ILicensingService
+
+-keepclasseswithmembernames class * {
+ native <methods>;
+}
+
+-keepclasseswithmembernames class * {
+ public <init>(android.content.Context, android.util.AttributeSet);
+}
+
+-keepclasseswithmembernames class * {
+ public <init>(android.content.Context, android.util.AttributeSet, int);
+}
+
+-keepclassmembers enum * {
+ public static **[] values();
+ public static ** valueOf(java.lang.String);
+}
+
+-keep class * implements android.os.Parcelable {
+ public static final android.os.Parcelable$Creator *;
+}
View
14 chat/AndroidChat/project.properties
@@ -0,0 +1,14 @@
+# This file is automatically generated by Android Tools.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+#
+# This file must be checked in Version Control Systems.
+#
+# To customize properties used by the Ant build system edit
+# "ant.properties", and override values to adapt the script to your
+# project structure.
+#
+# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
+#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
+
+# Project target.
+target=android-10
View
BIN  chat/AndroidChat/res/drawable-hdpi/icon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  chat/AndroidChat/res/drawable-ldpi/icon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  chat/AndroidChat/res/drawable-mdpi/icon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
38 chat/AndroidChat/res/layout/main.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:orientation="vertical" >
+
+ <TextView
+ android:id="@+id/text"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:editable="false"
+ android:text="Welcome to Bridge Chat"
+ android:textAppearance="?android:attr/textAppearanceLarge" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" >
+
+ <EditText
+ android:id="@+id/editText1"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:ems="10" >
+
+ <requestFocus />
+ </EditText>
+
+ <Button
+ android:id="@+id/button1"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="Send" />
+ </LinearLayout>
+
+</LinearLayout>
View
5 chat/AndroidChat/res/values/strings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string name="hello">Hello World, MainActivity!</string>
+ <string name="app_name">BridgeAndroidTest</string>
+</resources>
View
80 chat/AndroidChat/src/com/flotype/bridge/MainActivity.java
@@ -0,0 +1,80 @@
+package com.flotype.bridge;
+
+import java.io.IOException;
+
+
+import org.apache.log4j.Level;
+
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.os.Environment;
+import android.widget.TextView;
+import de.mindpipe.android.logging.log4j.LogConfigurator;
+
+public class MainActivity extends Activity {
+
+ interface RemoteChat extends BridgeRemoteObject {
+ public void message(String sender, String message);
+ }
+
+
+
+ interface RemoteAuth extends BridgeRemoteObject {
+ public void join(String room, String pass, ChatObj obj, BridgeObject cb);
+ }
+
+ static {
+ final LogConfigurator logConfigurator = new LogConfigurator();
+
+ logConfigurator.setUseFileAppender(false);
+ logConfigurator.setRootLevel(Level.DEBUG);
+ // Set log level of a specific logger
+ logConfigurator.setLevel("org.apache", Level.ERROR);
+ logConfigurator.configure();
+ }
+
+ interface RemoteGreeter extends BridgeRemoteObject {
+ public void greet(String name, BridgeObject callback);
+ }
+
+ Bridge bridge;
+
+ /** Called when the activity is first created. */
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.main);
+
+ bridge = new Bridge("abcdefgh");
+ try {
+ RemoteAuth auth = bridge.getService("auth", RemoteAuth.class);
+ auth.join("bridge-lovers", "secret123", new ChatObj(), new BridgeObject() {
+ public void callback(RemoteChat channel, String channelName) {
+
+ }
+ });
+ bridge.connect();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+
+ public void updateText(final String text) {
+ runOnUiThread(new Runnable() {
+ public void run() {
+ TextView textView = (TextView) findViewById(R.id.text);
+ textView.append("\n" + text);
+ }
+ });
+
+ }
+
+ class ChatObj implements BridgeObject {
+ public void message(String sender, String message) {
+ MainActivity.this.updateText(sender + ": " + message);
+ }
+ }
+
+}
View
2  readline.js → chat/chat.js
@@ -13,7 +13,7 @@ var chatHandler = {
var joinCallback = function (channel, name) {
console.log('Joined channel : ', name);
rl.on('line', function (line) {
- channel.message('steve', line);
+ channel.message('Jasper', line);
});
};
View
2  readline.rb → chat/chat.rb
@@ -8,7 +8,7 @@ def initialize(channel)
end
def receive_line(data)
- @ch.message("steve", data)
+ @ch.message("Ruby", data)
end
end
View
16 chat/chatserver.py
@@ -0,0 +1,16 @@
+from BridgePython import Bridge
+
+
+class AuthHandler(object):
+ def join(self, room, password, obj, callback):
+ if password == "secret123":
+ print ('Welcome!')
+ # new: join channel using the client's objects
+ bridge.join_channel(room, obj, callback)
+ else:
+ print ('Sorry!')
+
+bridge = Bridge(api_key='abcdefgh')
+bridge.publish_service('auth', AuthHandler())
+
+bridge.connect()
View
306 fakebook/Fakebook/Fakebook.xcodeproj/project.pbxproj
@@ -0,0 +1,306 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 73CE71B71597A1FF00435960 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73CE71B61597A1FF00435960 /* UIKit.framework */; };
+ 73CE71B91597A1FF00435960 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73CE71B81597A1FF00435960 /* Foundation.framework */; };
+ 73CE71BB1597A1FF00435960 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73CE71BA1597A1FF00435960 /* CoreGraphics.framework */; };
+ 73CE71C11597A1FF00435960 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 73CE71BF1597A1FF00435960 /* InfoPlist.strings */; };
+ 73CE71C31597A1FF00435960 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 73CE71C21597A1FF00435960 /* main.m */; };
+ 73CE71C71597A1FF00435960 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 73CE71C61597A1FF00435960 /* AppDelegate.m */; };
+ 73CE71CA1597A1FF00435960 /* MainStoryboard_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 73CE71C81597A1FF00435960 /* MainStoryboard_iPhone.storyboard */; };
+ 73CE71CD1597A1FF00435960 /* MainStoryboard_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 73CE71CB1597A1FF00435960 /* MainStoryboard_iPad.storyboard */; };
+ 73CE71D01597A1FF00435960 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 73CE71CF1597A1FF00435960 /* ViewController.m */; };
+ 73CE71DB1597A2DB00435960 /* bridge-ios.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73CE71DA1597A2DB00435960 /* bridge-ios.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ 73CE71B21597A1FF00435960 /* Fakebook.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Fakebook.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 73CE71B61597A1FF00435960 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+ 73CE71B81597A1FF00435960 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ 73CE71BA1597A1FF00435960 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+ 73CE71BE1597A1FF00435960 /* Fakebook-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Fakebook-Info.plist"; sourceTree = "<group>"; };
+ 73CE71C01597A1FF00435960 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 73CE71C21597A1FF00435960 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+ 73CE71C41597A1FF00435960 /* Fakebook-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Fakebook-Prefix.pch"; sourceTree = "<group>"; };
+ 73CE71C51597A1FF00435960 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
+ 73CE71C61597A1FF00435960 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
+ 73CE71C91597A1FF00435960 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPhone.storyboard; sourceTree = "<group>"; };
+ 73CE71CC1597A1FF00435960 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPad.storyboard; sourceTree = "<group>"; };
+ 73CE71CE1597A1FF00435960 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
+ 73CE71CF1597A1FF00435960 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
+ 73CE71DA1597A2DB00435960 /* bridge-ios.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = "bridge-ios.framework"; path = "../../../../Library/Developer/Xcode/DerivedData/bridge-ajbsyretmvlmzcfplquorxjwbmiw/Build/Products/Release-iphoneos/bridge-ios.framework"; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 73CE71AF1597A1FF00435960 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 73CE71B71597A1FF00435960 /* UIKit.framework in Frameworks */,
+ 73CE71B91597A1FF00435960 /* Foundation.framework in Frameworks */,
+ 73CE71BB1597A1FF00435960 /* CoreGraphics.framework in Frameworks */,
+ 73CE71DB1597A2DB00435960 /* bridge-ios.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 73CE71A71597A1FE00435960 = {
+ isa = PBXGroup;
+ children = (
+ 73CE71BC1597A1FF00435960 /* Fakebook */,
+ 73CE71B51597A1FF00435960 /* Frameworks */,
+ 73CE71B31597A1FF00435960 /* Products */,
+ );
+ sourceTree = "<group>";
+ };
+ 73CE71B31597A1FF00435960 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 73CE71B21597A1FF00435960 /* Fakebook.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 73CE71B51597A1FF00435960 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 73CE71DA1597A2DB00435960 /* bridge-ios.framework */,
+ 73CE71B61597A1FF00435960 /* UIKit.framework */,
+ 73CE71B81597A1FF00435960 /* Foundation.framework */,
+ 73CE71BA1597A1FF00435960 /* CoreGraphics.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ 73CE71BC1597A1FF00435960 /* Fakebook */ = {
+ isa = PBXGroup;
+ children = (
+ 73CE71C51597A1FF00435960 /* AppDelegate.h */,
+ 73CE71C61597A1FF00435960 /* AppDelegate.m */,
+ 73CE71C81597A1FF00435960 /* MainStoryboard_iPhone.storyboard */,
+ 73CE71CB1597A1FF00435960 /* MainStoryboard_iPad.storyboard */,
+ 73CE71CE1597A1FF00435960 /* ViewController.h */,
+ 73CE71CF1597A1FF00435960 /* ViewController.m */,
+ 73CE71BD1597A1FF00435960 /* Supporting Files */,
+ );
+ path = Fakebook;
+ sourceTree = "<group>";
+ };
+ 73CE71BD1597A1FF00435960 /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 73CE71BE1597A1FF00435960 /* Fakebook-Info.plist */,
+ 73CE71BF1597A1FF00435960 /* InfoPlist.strings */,
+ 73CE71C21597A1FF00435960 /* main.m */,
+ 73CE71C41597A1FF00435960 /* Fakebook-Prefix.pch */,
+ );
+ name = "Supporting Files";
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 73CE71B11597A1FF00435960 /* Fakebook */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 73CE71D31597A1FF00435960 /* Build configuration list for PBXNativeTarget "Fakebook" */;
+ buildPhases = (
+ 73CE71AE1597A1FF00435960 /* Sources */,
+ 73CE71AF1597A1FF00435960 /* Frameworks */,
+ 73CE71B01597A1FF00435960 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = Fakebook;
+ productName = Fakebook;
+ productReference = 73CE71B21597A1FF00435960 /* Fakebook.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 73CE71A91597A1FE00435960 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0430;
+ ORGANIZATIONNAME = "Flotype Inc.";
+ };
+ buildConfigurationList = 73CE71AC1597A1FE00435960 /* Build configuration list for PBXProject "Fakebook" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = 73CE71A71597A1FE00435960;
+ productRefGroup = 73CE71B31597A1FF00435960 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 73CE71B11597A1FF00435960 /* Fakebook */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 73CE71B01597A1FF00435960 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 73CE71C11597A1FF00435960 /* InfoPlist.strings in Resources */,
+ 73CE71CA1597A1FF00435960 /* MainStoryboard_iPhone.storyboard in Resources */,
+ 73CE71CD1597A1FF00435960 /* MainStoryboard_iPad.storyboard in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 73CE71AE1597A1FF00435960 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 73CE71C31597A1FF00435960 /* main.m in Sources */,
+ 73CE71C71597A1FF00435960 /* AppDelegate.m in Sources */,
+ 73CE71D01597A1FF00435960 /* ViewController.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 73CE71BF1597A1FF00435960 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 73CE71C01597A1FF00435960 /* en */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+ 73CE71C81597A1FF00435960 /* MainStoryboard_iPhone.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 73CE71C91597A1FF00435960 /* en */,
+ );
+ name = MainStoryboard_iPhone.storyboard;
+ sourceTree = "<group>";
+ };
+ 73CE71CB1597A1FF00435960 /* MainStoryboard_iPad.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 73CE71CC1597A1FF00435960 /* en */,
+ );
+ name = MainStoryboard_iPad.storyboard;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 73CE71D11597A1FF00435960 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ "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 = 5.1;
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = Debug;
+ };
+ 73CE71D21597A1FF00435960 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ "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 = 5.1;
+ OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Release;
+ };
+ 73CE71D41597A1FF00435960 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/../../../../Library/Developer/Xcode/DerivedData/bridge-ajbsyretmvlmzcfplquorxjwbmiw/Build/Products/Release-iphoneos\"",
+ );
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "Fakebook/Fakebook-Prefix.pch";
+ INFOPLIST_FILE = "Fakebook/Fakebook-Info.plist";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Debug;
+ };
+ 73CE71D51597A1FF00435960 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/../../../../Library/Developer/Xcode/DerivedData/bridge-ajbsyretmvlmzcfplquorxjwbmiw/Build/Products/Release-iphoneos\"",
+ );
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "Fakebook/Fakebook-Prefix.pch";
+ INFOPLIST_FILE = "Fakebook/Fakebook-Info.plist";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 73CE71AC1597A1FE00435960 /* Build configuration list for PBXProject "Fakebook" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 73CE71D11597A1FF00435960 /* Debug */,
+ 73CE71D21597A1FF00435960 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 73CE71D31597A1FF00435960 /* Build configuration list for PBXNativeTarget "Fakebook" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 73CE71D41597A1FF00435960 /* Debug */,
+ 73CE71D51597A1FF00435960 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 73CE71A91597A1FE00435960 /* Project object */;
+}
View
7 fakebook/Fakebook/Fakebook.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+ version = "1.0">
+ <FileRef
+ location = "self:Fakebook.xcodeproj">
+ </FileRef>
+</Workspace>
View
BIN  ...deproj/project.xcworkspace/xcuserdata/sridatta.xcuserdatad/UserInterfaceState.xcuserstate
Binary file not shown
View
85 ...k/Fakebook/Fakebook.xcodeproj/xcuserdata/sridatta.xcuserdatad/xcschemes/Fakebook.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 = "73CE71B11597A1FF00435960"
+ BuildableName = "Fakebook.app"
+ BlueprintName = "Fakebook"
+ ReferencedContainer = "container:Fakebook.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 = "73CE71B11597A1FF00435960"
+ BuildableName = "Fakebook.app"
+ BlueprintName = "Fakebook"
+ ReferencedContainer = "container:Fakebook.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 = "73CE71B11597A1FF00435960"
+ BuildableName = "Fakebook.app"
+ BlueprintName = "Fakebook"
+ ReferencedContainer = "container:Fakebook.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Release"
+ debugDocumentVersioning = "YES">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "73CE71B11597A1FF00435960"
+ BuildableName = "Fakebook.app"
+ BlueprintName = "Fakebook"
+ ReferencedContainer = "container:Fakebook.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
View
22 ...ook/Fakebook.xcodeproj/xcuserdata/sridatta.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>Fakebook.xcscheme</key>
+ <dict>
+ <key>orderHint</key>
+ <integer>0</integer>
+ </dict>
+ </dict>
+ <key>SuppressBuildableAutocreation</key>
+ <dict>
+ <key>73CE71B11597A1FF00435960</key>
+ <dict>
+ <key>primary</key>
+ <true/>
+ </dict>
+ </dict>
+</dict>
+</plist>
View
20 fakebook/Fakebook/Fakebook/AppDelegate.h
@@ -0,0 +1,20 @@
+//
+// AppDelegate.h
+// Fakebook
+//
+// Created by Sridatta Thatipamala on 6/24/12.
+// Copyright (c) 2012 Flotype Inc. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import "bridge-ios/bridge.h"
+
+@interface AppDelegate : UIResponder <UIApplicationDelegate> {
+ Bridge* bridge;
+}
+
+@property(strong, nonatomic) Bridge* bridge;
+
+@property (strong, nonatomic) UIWindow *window;
+
+@end
View
57 fakebook/Fakebook/Fakebook/AppDelegate.m
@@ -0,0 +1,57 @@
+//
+// AppDelegate.m
+// Fakebook
+//
+// Created by Sridatta Thatipamala on 6/24/12.
+// Copyright (c) 2012 Flotype Inc. All rights reserved.
+//
+
+#import "AppDelegate.h"
+
+@implementation AppDelegate
+
+@synthesize window = _window;
+
+- (void)dealloc
+{
+ [_window release];
+ [super dealloc];
+}
+
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
+{
+ // Override point for customization after application launch.
+ Bridge* b = [[Bridge alloc] initWithApiKey:@"abcdefgh"];
+ [b connect];
+ [self setBridge:b];
+ 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
49 fakebook/Fakebook/Fakebook/Fakebook-Info.plist
@@ -0,0 +1,49 @@
+<?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>CFBundleDevelopmentRegion</key>
+ <string>en</string>
+ <key>CFBundleDisplayName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.getbridge.${PRODUCT_NAME:rfc1034identifier}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>LSRequiresIPhoneOS</key>
+ <true/>
+ <key>UIMainStoryboardFile</key>
+ <string>MainStoryboard_iPhone</string>
+ <key>UIMainStoryboardFile~ipad</key>
+ <string>MainStoryboard_iPad</string>
+ <key>UIRequiredDeviceCapabilities</key>
+ <array>
+ <string>armv7</string>
+ </array>
+ <key>UISupportedInterfaceOrientations</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+ <key>UISupportedInterfaceOrientations~ipad</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationPortraitUpsideDown</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+</dict>
+</plist>
View
14 fakebook/Fakebook/Fakebook/Fakebook-Prefix.pch
@@ -0,0 +1,14 @@
+//
+// Prefix header for all source files of the 'Fakebook' target in the 'Fakebook' project
+//
+
+#import <Availability.h>
+
+#ifndef __IPHONE_5_0
+#warning "This project uses features only available in iOS SDK 5.0 and later."
+#endif
+
+#ifdef __OBJC__
+ #import <UIKit/UIKit.h>
+ #import <Foundation/Foundation.h>
+#endif
View
14 fakebook/Fakebook/Fakebook/ViewController.h
@@ -0,0 +1,14 @@
+//
+// ViewController.h
+// Fakebook
+//
+// Created by Sridatta Thatipamala on 6/24/12.
+// Copyright (c) 2012 Flotype Inc. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface ViewController : UIViewController
+- (IBAction)editingDidEnd:(id)sender;
+
+@end
View
48 fakebook/Fakebook/Fakebook/ViewController.m
@@ -0,0 +1,48 @@
+//
+// ViewController.m
+// Fakebook
+//
+// Created by Sridatta Thatipamala on 6/24/12.
+// Copyright (c) 2012 Flotype Inc. All rights reserved.
+//
+
+#import "ViewController.h"
+#import "AppDelegate.h"
+#import "bridge-ios/bridge.h"
+
+@interface ViewController ()
+
+@end
+
+@implementation ViewController
+
+- (void)viewDidLoad
+{
+ [super viewDidLoad];
+ // Do any additional setup after loading the view, typically from a nib.
+ AppDelegate* delegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
+ Bridge* bridge = [delegate bridge];
+ [[bridge getService:@"auth"] joinFeed:@"fakebook" :[]];
+}
+
+- (void)viewDidUnload
+{
+ [super viewDidUnload];
+ // Release any retained subviews of the main view.
+}
+
+- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
+{
+ if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
+ return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
+ } else {
+ return YES;
+ }
+}
+
+- (IBAction)editingDidEnd:(id)sender {
+ AppDelegate* delegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
+ Bridge* bridge = [delegate bridge];
+ BridgeRemoteObject* greeter = [bridge getService:@"posts"];
+}
+@end
View
2  fakebook/Fakebook/Fakebook/en.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+/* Localized versions of Info.plist keys */
+
View
27 fakebook/Fakebook/Fakebook/en.lproj/MainStoryboard_iPad.storyboard
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="1.0" toolsVersion="1906" systemVersion="11A511" targetRuntime="iOS.CocoaTouch.iPad" nextObjectID="6" propertyAccessControl="none" initialViewController="2">
+ <dependencies>
+ <development defaultVersion="4200" identifier="xcode"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="902"/>
+ </dependencies>
+ <scenes>
+ <scene sceneID="4">
+ <objects>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="3" sceneMemberID="firstResponder"/>
+ <viewController id="2" customClass="ViewController" sceneMemberID="viewController">
+ <view key="view" contentMode="scaleToFill" id="5">
+ <rect key="frame" x="0.0" y="20" width="768" height="1004"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+ <subviews/>
+ <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
+ </view>
+ </viewController>
+ </objects>
+ </scene>
+ </scenes>
+ <simulatedMetricsContainer key="defaultSimulatedMetrics">
+ <simulatedStatusBarMetrics key="statusBar" statusBarStyle="blackTranslucent"/>
+ <simulatedOrientationMetrics key="orientation"/>
+ <simulatedScreenMetrics key="destination"/>
+ </simulatedMetricsContainer>
+</document>
View
51 fakebook/Fakebook/Fakebook/en.lproj/MainStoryboard_iPhone.storyboard
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="1.1" toolsVersion="2182" systemVersion="11E53" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" initialViewController="2">
+ <dependencies>
+ <deployment defaultVersion="1296" identifier="iOS"/>
+ <development defaultVersion="4200" identifier="xcode"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="1181"/>
+ </dependencies>
+ <scenes>
+ <!--View Controller-->
+ <scene sceneID="5">
+ <objects>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="4" sceneMemberID="firstResponder"/>
+ <viewController id="2" customClass="ViewController" sceneMemberID="viewController">
+ <view key="view" contentMode="scaleToFill" id="3">
+ <rect key="frame" x="0.0" y="20" width="320" height="460"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <subviews>
+ <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" id="nxs-wF-4D5">
+ <rect key="frame" x="20" y="20" width="266" height="31"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="14"/>
+ <textInputTraits key="textInputTraits"/>
+ <connections>
+ <action selector="editingDidEnd:" destination="2" eventType="editingDidEnd" id="8lC-EO-TKt"/>
+ </connections>
+ </textField>
+ <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" id="zmM-So-Cuv">
+ <rect key="frame" x="20" y="59" width="266" height="387"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+ </scrollView>
+ </subviews>
+ <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
+ </view>
+ </viewController>
+ </objects>
+ </scene>
+ </scenes>
+ <classes>
+ <class className="ViewController" superclassName="UIViewController">
+ <source key="sourceIdentifier" type="project" relativePath="./Classes/ViewController.h"/>
+ <relationships>
+ <relationship kind="action" name="editingDidEnd:"/>
+ </relationships>
+ </class>
+ </classes>
+ <simulatedMetricsContainer key="defaultSimulatedMetrics">
+ <simulatedStatusBarMetrics key="statusBar"/>
+ <simulatedOrientationMetrics key="orientation"/>
+ <simulatedScreenMetrics key="destination"/>
+ </simulatedMetricsContainer>
+</document>
View
18 fakebook/Fakebook/Fakebook/main.m
@@ -0,0 +1,18 @@
+//
+// main.m
+// Fakebook
+//
+// Created by Sridatta Thatipamala on 6/24/12.
+// Copyright (c) 2012 Flotype Inc. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+#import "AppDelegate.h"
+
+int main(int argc, char *argv[])
+{
+ @autoreleasepool {
+ return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
+ }
+}
View
10 fakebook/analytics.py
@@ -0,0 +1,10 @@
+from icolor import cformat
+from BridgePython import Bridge
+bridge = Bridge(api_key="abcdefgh")
+
+class Analytics(object):
+ def increment_visits(self, user_id):
+ print cformat("#xWHITE; #BLACK; Login counted from user #RED;%s " % user_id)
+
+bridge.publish_service("analytics", Analytics())
+bridge.connect()
View
9 fakebook/bridgebook.js
@@ -0,0 +1,9 @@
+var express = require('express');
+
+var app = express.createServer();
+
+app.configure(function(){
+ app.use(express.static(__dirname + '/public'));
+});
+
+app.listen(4003);
View
31 fakebook/indexer.rb
@@ -0,0 +1,31 @@
+require 'bridge-ruby'
+require 'lingua/stemmer'
+
+class Indexer
+
+ def initialize
+ @word_counts = {}
+ @stemmer= Lingua::Stemmer.new(:language => "en")
+ end
+
+ def index message
+ message.split(' ').map do |word|
+ stemmed = @stemmer.stem word
+
+ if @word_counts[stemmed]
+ @word_counts[stemmed] += 1
+ else
+ @word_counts[stemmed] = 1
+ end
+
+ end
+ end
+
+end
+
+
+EM.run do
+ bridge = Bridge::Bridge.new :api_key => 'abcdefgh'
+ bridge.publish_service('indexer', Indexer.new)
+ bridge.connect
+end
View
41 fakebook/posts.rb
@@ -0,0 +1,41 @@
+require 'bridge-ruby'
+require 'yaml'
+require 'obscenity'
+require 'lingua/stemmer'
+
+class SpamFilter
+ def is_spam?(message)
+ Obscenity.profane?(message)
+ end
+end
+
+
+
+class PostHandler
+
+ def initialize bridge
+ @filter = SpamFilter.new
+ @indexer = bridge.get_service('indexer')
+ @bridge = bridge
+ end
+
+ def activateFeed handler, callback
+ @bridge.join_channel('bb-feed', handler, false) do
+ callback.call
+ end
+ end
+
+ def submit user, message
+ feed = @bridge.get_channel('bb-feed')
+ feed.post(user, message) unless @filter.is_spam?(message)
+ @indexer.index message
+ end
+
+end
+
+
+EM.run do
+ bridge = Bridge::Bridge.new :api_key => 'abcdefgh'
+ bridge.publish_service('posts', PostHandler.new(bridge))
+ bridge.connect
+end
View
121 fakebook/public/page.html
@@ -0,0 +1,121 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8" />
+ <title>Fakebook</title>
+ <link rel="stylesheet" type="text/css" href="http://current.bootstrapcdn.com/bootstrap-v204/css/bootstrap-combined.min.css" />
+ <link rel="stylesheet" type="text/css" href="style.css" />
+ <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
+ <script src="http://getbridge.com/js/bridge.min.js"></script>
+
+ <!--[if IE]>
+ <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+</head>
+
+<body id="home">
+
+ <div class="container">
+ <div class="row" id="banner">
+ <h1 class="span4">Fakebook<h1>
+ </div>
+ <div id="main" class="row">
+ <div id="feed" class="span8">
+ <h2>Newsfeed</h2>
+ <form id="status" class="well form-search">
+ <input id="status-input" type="text" class="input-medium search-query">
+ <button id="status-submit" type="submit" class="btn btn-large btn-primary">Post</button>
+ </form>
+ <div id="posts">
+ <div class="post">
+ <img class="span1"src="http://robohash.com/Angsty%20Bonobo" alt="" />
+ <div class="post-content span5">
+ <strong>Angsty Bonobo</strong>
+ <p>Fakebook is the best social network I've ever used!</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div id="chat" class="span4">
+ <h2>Chat</h2>
+ <div id="messages">
+
+ </div>
+ <form class="well form-search">
+ <input id="chat-input" type="text" class="input-medium search-query">
+ <button id="chat-submit" type="submit" class="btn btn-large btn-primary">Send</button>
+ </form>
+ </div>
+ </div>
+ </div>
+
+<script>
+$(function(){
+ var bridge = new Bridge({apiKey:'abcdefgh'});
+
+ var names = ["Jasper Eich", "Robert Matsumoto", "Patty van Rossum",
+ "Javed Gosling", "Andy Rubin", "Ipsen Jobs"];
+
+ var userName = names[Math.floor(Math.random() * (names.length + 1))];
+
+ var postServer;
+
+ var feedHandler = {
+ post: function(author, message){
+ var robotPic = encodeURI("http://robohash.com/"+author);
+ var img = $("<img>").attr("src", robotPic).addClass('span1');
+ var author = $('<strong>').text(author);
+ var message = $('<p>').text(message);
+ var content = $('<div>').addClass("post-content span5")
+ .append(author)
+ .append(message);
+ var post = $("<div>").append(img).append(content)
+ .addClass('post');
+
+ $('#posts').prepend(post);
+ }
+ };
+
+ var onFeedActivate = function(){
+ $('#status-submit').click(function(){
+ postServer.submit(userName, $('#status-input').val());
+ $('#status-input').val('');
+ });
+ }
+
+ bridge.getService('posts', function(posts){
+ postServer = posts;
+ postServer.activateFeed(feedHandler, onFeedActivate);
+ });
+
+ var chat_channel;
+
+ var chatHandler = {
+ message: function(sender, message) {
+ $('#messages').append(sender + ' : ' + message + '<br>');
+ }
+ }
+
+ var joinCallback = function(channel) {
+ chat_channel = channel;
+
+ $('#chat-submit').click(function(){
+ chat_channel.message(userName, $('#chat-input').val());
+ $('#chat-input').val('');
+ return false;
+ });
+ }
+
+ bridge.getService('auth', function(auth){
+ auth.join('bridge-lovers', 'secret123', chatHandler, joinCallback);
+ });
+
+ bridge.connect();
+
+ $('form').submit(function(){return false});
+
+});
+</script>
+
+</body>
+</html>
View
40 fakebook/public/style.css
@@ -0,0 +1,40 @@
+#banner {
+ background-color:#3F83CA;
+}
+
+#banner h1 {
+ color: white;
+}
+
+#main {
+ margin-top: 30px;
+}
+
+#status input {
+ width:500px;
+ height:100px;
+ font-size:20pt;
+}
+
+#feed {
+ background-color:#C3DCF2;
+}
+
+.post strong {
+ font-size:20pt;
+}
+
+p {
+ font-size:32pt;
+ line-height:40pt;
+}
+
+#messages {
+ font-size:20pt;
+ line-height:150%;
+ margin-top:10px;
+}
+
+.post {
+ clear:both;
+}
View
317 greeter/Greeter/Greeter.xcodeproj/project.pbxproj
@@ -0,0 +1,317 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 731489941595113E002EAE5D /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 731489931595113E002EAE5D /* UIKit.framework */; };
+ 731489961595113E002EAE5D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 731489951595113E002EAE5D /* Foundation.framework */; };
+ 731489981595113E002EAE5D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 731489971595113E002EAE5D /* CoreGraphics.framework */; };
+ 7314899E1595113E002EAE5D /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7314899C1595113E002EAE5D /* InfoPlist.strings */; };
+ 731489A01595113E002EAE5D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 7314899F1595113E002EAE5D /* main.m */; };
+ 731489A41595113E002EAE5D /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 731489A31595113E002EAE5D /* AppDelegate.m */; };
+ 731489A71595113E002EAE5D /* MainStoryboard_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 731489A51595113E002EAE5D /* MainStoryboard_iPhone.storyboard */; };
+ 731489AA1595113E002EAE5D /* MainStoryboard_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 731489A81595113E002EAE5D /* MainStoryboard_iPad.storyboard */; };
+ 731489AD1595113E002EAE5D /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 731489AC1595113E002EAE5D /* ViewController.m */; };
+ 73148A4A15954369002EAE5D /* bridge-ios.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73148A481595435E002EAE5D /* bridge-ios.framework */; };
+ 73148A4C1595437F002EAE5D /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73148A4B1595437F002EAE5D /* CFNetwork.framework */; };
+ 73148A4E15954383002EAE5D /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73148A4D15954383002EAE5D /* Security.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ 7314898F1595113E002EAE5D /* Greeter.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Greeter.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 731489931595113E002EAE5D /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+ 731489951595113E002EAE5D /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ 731489971595113E002EAE5D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+ 7314899B1595113E002EAE5D /* Greeter-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Greeter-Info.plist"; sourceTree = "<group>"; };
+ 7314899D1595113E002EAE5D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 7314899F1595113E002EAE5D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+ 731489A11595113E002EAE5D /* Greeter-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Greeter-Prefix.pch"; sourceTree = "<group>"; };
+ 731489A21595113E002EAE5D /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
+ 731489A31595113E002EAE5D /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
+ 731489A61595113E002EAE5D /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPhone.storyboard; sourceTree = "<group>"; };
+ 731489A91595113E002EAE5D /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPad.storyboard; sourceTree = "<group>"; };
+ 731489AB1595113E002EAE5D /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
+ 731489AC1595113E002EAE5D /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
+ 73148A481595435E002EAE5D /* bridge-ios.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = "bridge-ios.framework"; path = "../../../../Library/Developer/Xcode/DerivedData/bridge-ajbsyretmvlmzcfplquorxjwbmiw/Build/Products/Release-iphoneos/bridge-ios.framework"; sourceTree = "<group>"; };
+ 73148A4B1595437F002EAE5D /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
+ 73148A4D15954383002EAE5D /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 7314898C1595113E002EAE5D /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 73148A4E15954383002EAE5D /* Security.framework in Frameworks */,
+ 73148A4C1595437F002EAE5D /* CFNetwork.framework in Frameworks */,
+ 731489941595113E002EAE5D /* UIKit.framework in Frameworks */,
+ 731489961595113E002EAE5D /* Foundation.framework in Frameworks */,
+ 731489981595113E002EAE5D /* CoreGraphics.framework in Frameworks */,
+ 73148A4A15954369002EAE5D /* bridge-ios.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 731489841595113D002EAE5D = {
+ isa = PBXGroup;
+ children = (
+ 73148A4D15954383002EAE5D /* Security.framework */,
+ 73148A4B1595437F002EAE5D /* CFNetwork.framework */,
+ 731489991595113E002EAE5D /* Greeter */,
+ 731489921595113E002EAE5D /* Frameworks */,
+ 731489901595113E002EAE5D /* Products */,
+ );
+ sourceTree = "<group>";
+ };
+ 731489901595113E002EAE5D /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 7314898F1595113E002EAE5D /* Greeter.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 731489921595113E002EAE5D /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 73148A481595435E002EAE5D /* bridge-ios.framework */,
+ 731489931595113E002EAE5D /* UIKit.framework */,
+ 731489951595113E002EAE5D /* Foundation.framework */,
+ 731489971595113E002EAE5D /* CoreGraphics.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ 731489991595113E002EAE5D /* Greeter */ = {
+ isa = PBXGroup;
+ children = (
+ 731489A21595113E002EAE5D /* AppDelegate.h */,
+ 731489A31595113E002EAE5D /* AppDelegate.m */,
+ 731489A51595113E002EAE5D /* MainStoryboard_iPhone.storyboard */,
+ 731489A81595113E002EAE5D /* MainStoryboard_iPad.storyboard */,
+ 731489AB1595113E002EAE5D /* ViewController.h */,
+ 731489AC1595113E002EAE5D /* ViewController.m */,
+ 7314899A1595113E002EAE5D /* Supporting Files */,
+ );
+ path = Greeter;
+ sourceTree = "<group>";
+ };
+ 7314899A1595113E002EAE5D /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 7314899B1595113E002EAE5D /* Greeter-Info.plist */,
+ 7314899C1595113E002EAE5D /* InfoPlist.strings */,
+ 7314899F1595113E002EAE5D /* main.m */,
+ 731489A11595113E002EAE5D /* Greeter-Prefix.pch */,
+ );
+ name = "Supporting Files";
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 7314898E1595113E002EAE5D /* Greeter */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 731489B01595113E002EAE5D /* Build configuration list for PBXNativeTarget "Greeter" */;
+ buildPhases = (
+ 7314898B1595113E002EAE5D /* Sources */,
+ 7314898C1595113E002EAE5D /* Frameworks */,
+ 7314898D1595113E002EAE5D /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = Greeter;
+ productName = Greeter;
+ productReference = 7314898F1595113E002EAE5D /* Greeter.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 731489861595113D002EAE5D /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0430;
+ ORGANIZATIONNAME = "Flotype Inc.";
+ };
+ buildConfigurationList = 731489891595113D002EAE5D /* Build configuration list for PBXProject "Greeter" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = 731489841595113D002EAE5D;
+ productRefGroup = 731489901595113E002EAE5D /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 7314898E1595113E002EAE5D /* Greeter */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 7314898D1595113E002EAE5D /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7314899E1595113E002EAE5D /* InfoPlist.strings in Resources */,
+ 731489A71595113E002EAE5D /* MainStoryboard_iPhone.storyboard in Resources */,
+ 731489AA1595113E002EAE5D /* MainStoryboard_iPad.storyboard in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 7314898B1595113E002EAE5D /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 731489A01595113E002EAE5D /* main.m in Sources */,
+ 731489A41595113E002EAE5D /* AppDelegate.m in Sources */,
+ 731489AD1595113E002EAE5D /* ViewController.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 7314899C1595113E002EAE5D /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 7314899D1595113E002EAE5D /* en */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+ 731489A51595113E002EAE5D /* MainStoryboard_iPhone.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 731489A61595113E002EAE5D /* en */,
+ );
+ name = MainStoryboard_iPhone.storyboard;
+ sourceTree = "<group>";
+ };
+ 731489A81595113E002EAE5D /* MainStoryboard_iPad.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 731489A91595113E002EAE5D /* en */,
+ );
+ name = MainStoryboard_iPad.storyboard;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 731489AE1595113E002EAE5D /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ "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 = 5.1;
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = Debug;
+ };
+ 731489AF1595113E002EAE5D /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ "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 = 5.1;
+ OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Release;
+ };
+ 731489B11595113E002EAE5D /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/../../../../Library/Developer/Xcode/DerivedData/bridge-ajbsyretmvlmzcfplquorxjwbmiw/Build/Products/Release-iphoneos\"",
+ );
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "Greeter/Greeter-Prefix.pch";
+ INFOPLIST_FILE = "Greeter/Greeter-Info.plist";
+ OTHER_LDFLAGS = "-ObjC";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Debug;
+ };
+ 731489B21595113E002EAE5D /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/../../../../Library/Developer/Xcode/DerivedData/bridge-ajbsyretmvlmzcfplquorxjwbmiw/Build/Products/Release-iphoneos\"",
+ );
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "Greeter/Greeter-Prefix.pch";
+ INFOPLIST_FILE = "Greeter/Greeter-Info.plist";
+ OTHER_LDFLAGS = "-ObjC";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 731489891595113D002EAE5D /* Build configuration list for PBXProject "Greeter" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 731489AE1595113E002EAE5D /* Debug */,
+ 731489AF1595113E002EAE5D /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 731489B01595113E002EAE5D /* Build configuration list for PBXNativeTarget "Greeter" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 731489B11595113E002EAE5D /* Debug */,
+ 731489B21595113E002EAE5D /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 731489861595113D002EAE5D /* Project object */;
+}
View
7 greeter/Greeter/Greeter.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+ version = "1.0">
+ <FileRef
+ location = "self:Greeter.xcodeproj">
+ </FileRef>
+</Workspace>
View
BIN  ...deproj/project.xcworkspace/xcuserdata/sridatta.xcuserdatad/UserInterfaceState.xcuserstate
Binary file not shown
View
20 ...eeter/Greeter.xcodeproj/xcuserdata/sridatta.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Bucket
+ type = "1"
+ version = "1.0">
+ <FileBreakpoints>
+ <FileBreakpoint
+ shouldBeEnabled = "No"
+ ignoreCount = "0"
+ continueAfterRunningActions = "No"
+ filePath = "Greeter/AppDelegate.m"
+ timestampString = "362189013.388612"
+ startingColumnNumber = "9223372036854775807"
+ endingColumnNumber = "9223372036854775807"
+ startingLineNumber = "26"
+ endingLineNumber = "26"
+ landmarkName = "-application:didFinishLaunchingWithOptions:"
+ landmarkType = "5">
+ </FileBreakpoint>
+ </FileBreakpoints>
+</Bucket>
View
99 greeter/Greeter/Greeter.xcodeproj/xcuserdata/sridatta.xcuserdatad/xcschemes/Greeter.xcscheme
@@ -0,0 +1,99 @@
+<?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 = "73148A0C159541FB002EAE5D"
+ BuildableName = "bridge-ios.framework"
+ BlueprintName = "bridge-ios"
+ ReferencedContainer = "container:../../../bridge-objc/bridge/bridge.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "7314898E1595113E002EAE5D"
+ BuildableName = "Greeter.app"
+ BlueprintName = "Greeter"
+ ReferencedContainer = "container:Greeter.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 = "7314898E1595113E002EAE5D"
+ BuildableName = "Greeter.app"
+ BlueprintName = "Greeter"
+ ReferencedContainer = "container:Greeter.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 = "7314898E1595113E002EAE5D"
+ BuildableName = "Greeter.app"
+ BlueprintName = "Greeter"
+ ReferencedContainer = "container:Greeter.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Release"
+ debugDocumentVersioning = "YES">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "7314898E1595113E002EAE5D"
+ BuildableName = "Greeter.app"
+ BlueprintName = "Greeter"
+ ReferencedContainer = "container:Greeter.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
View
22 ...eter/Greeter.xcodeproj/xcuserdata/sridatta.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>Greeter.xcscheme</key>
+ <dict>
+ <key>orderHint</key>
+ <integer>0</integer>
+ </dict>
+ </dict>
+ <key>SuppressBuildableAutocreation</key>
+ <dict>
+ <key>7314898E1595113E002EAE5D</key>
+ <dict>
+ <key>primary</key>
+ <true/>
+ </dict>
+ </dict>
+</dict>
+</plist>
View
23 greeter/Greeter/Greeter/AppDelegate.h
@@ -0,0 +1,23 @@
+//
+// AppDelegate.h
+// Greeter
+//
+// Created by Sridatta Thatipamala on 6/22/12.
+// Copyright (c) 2012 Flotype Inc. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import "bridge-ios/bridge.h"
+
+@interface AppDelegate : UIResponder <UIApplicationDelegate> {
+
+ Bridge* bridge;
+
+}
+
+@property(strong, nonatomic)
+ Bridge* bridge;
+
+@property (strong, nonatomic) UIWindow *window;
+
+@end
View
59 greeter/Greeter/Greeter/AppDelegate.m
@@ -0,0 +1,59 @@
+//
+// AppDelegate.m
+// Greeter
+//
+// Created by Sridatta Thatipamala on 6/22/12.
+// Copyright (c) 2012 Flotype Inc. All rights reserved.
+//
+
+#import "AppDelegate.h"
+#import "bridge-ios/bridge.h"
+
+@implementation AppDelegate
+
+@synthesize window = _window, bridge;
+
+- (void)dealloc
+{
+ [_window release];
+ [super dealloc];
+}
+
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
+{
+ // Override point for customization after application launch.
+ Bridge* b = [[Bridge alloc] initWithApiKey:@"abcdefgh"];
+ [b connect];
+ [self setBridge:b];
+
+ 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
49 greeter/Greeter/Greeter/Greeter-Info.plist
@@ -0,0 +1,49 @@
+<?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>CFBundleDevelopmentRegion</key>
+ <string>en</string>
+ <key>CFBundleDisplayName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.flotype.${PRODUCT_NAME:rfc1034identifier}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>LSRequiresIPhoneOS</key>
+ <true/>
+ <key>UIMainStoryboardFile</key>
+ <string>MainStoryboard_iPhone</string>
+ <key>UIMainStoryboardFile~ipad</key>
+ <string>MainStoryboard_iPad</string>
+ <key>UIRequiredDeviceCapabilities</key>
+ <array>
+ <string>armv7</string>
+ </array>
+ <key>UISupportedInterfaceOrientations</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+ <key>UISupportedInterfaceOrientations~ipad</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationPortraitUpsideDown</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+</dict>
+</plist>
View
14 greeter/Greeter/Greeter/Greeter-Prefix.pch
@@ -0,0 +1,14 @@
+//
+// Prefix header for all source files of the 'Greeter' target in the 'Greeter' project
+//
+
+#import <Availability.h>
+
+#ifndef __IPHONE_5_0
+#warning "This project uses features only available in iOS SDK 5.0 and later."
+#endif
+
+#ifdef __OBJC__
+ #import <UIKit/UIKit.h>
+ #import <Foundation/Foundation.h>
+#endif
View
15 greeter/Greeter/Greeter/ViewController.h
@@ -0,0 +1,15 @@
+//
+// ViewController.h
+// Greeter
+//
+// Created by Sridatta Thatipamala on 6/22/12.
+// Copyright (c) 2012 Flotype Inc. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface ViewController : UIViewController
+
+- (IBAction)greetingButtonPressed:(id)sender;
+
+@end
View
51 greeter/Greeter/Greeter/ViewController.m
@@ -0,0 +1,51 @@
+//
+// ViewController.m
+// Greeter
+//
+// Created by Sridatta Thatipamala on 6/22/12.
+// Copyright (c) 2012 Flotype Inc. All rights reserved.
+//
+
+#import "ViewController.h"
+#import "AppDelegate.h"
+#import "bridge-ios/bridge.h"
+
+@interface ViewController ()
+
+@end
+
+@implementation ViewController
+
+- (void)viewDidLoad
+{
+ [super viewDidLoad];
+ // Do any additional setup after loading the view, typically from a nib.
+}
+
+- (void)viewDidUnload
+{
+ [super viewDidUnload];
+ // Release any retained subviews of the main view.
+}
+
+- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
+{
+ if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
+ return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
+ } else {
+ return YES;
+ }
+}
+
+- (IBAction)greetingButtonPressed:(id)sender {
+ AppDelegate* delegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
+ Bridge* bridge = [delegate bridge];
+ BridgeRemoteObject* greeter = [bridge getService:@"greeter"];
+ [greeter greet:@"iPhone" :[BridgeCallback callbackWithBlock:^(NSArray * args) {
+ NSString* text = [args objectAtIndex:0];
+ UITextView* textView = (UITextView*) [[self view] viewWithTag:1];
+ [textView setText:text];
+ }]];
+}
+
+@end
View
2  greeter/Greeter/Greeter/en.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+/* Localized versions of Info.plist keys */
+
View
27 greeter/Greeter/Greeter/en.lproj/MainStoryboard_iPad.storyboard
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="1.0" toolsVersion="1906" systemVersion="11A511" targetRuntime="iOS.CocoaTouch.iPad" nextObjectID="6" propertyAccessControl="none" initialViewController="2">
+ <dependencies>