rhodes 2.1.0 → 2.2.0.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +7 -0
- data/README.textile +4 -5
- data/Rakefile +8 -1
- data/lib/build/jake.rb +22 -16
- data/lib/extensions/rhoxml/rexml/cdata.rb +67 -0
- data/lib/extensions/rhoxml/rexml/document.rb +2 -116
- data/lib/extensions/rhoxml/rexml/element.rb +1 -1
- data/lib/extensions/rhoxml/rexml/text.rb +117 -0
- data/lib/framework/rho/render.rb +19 -11
- data/lib/framework/rho/rho.rb +17 -10
- data/lib/framework/rho/rhobluetooth.rb +103 -0
- data/lib/framework/rho/rhocontroller.rb +2 -0
- data/lib/framework/rho/rhoevent.rb +43 -0
- data/lib/framework/rho/rhoevent_bb.rb +80 -0
- data/lib/framework/rho/rhoevent_c.rb +47 -0
- data/lib/framework/rhodes.rb +2 -2
- data/lib/framework/rhom/rhom_db_adapter.rb +2 -1
- data/lib/framework/rhom/rhom_model.rb +9 -3
- data/lib/framework/rhom/rhom_object_factory.rb +46 -22
- data/lib/framework/rhom/rhom_source.rb +12 -10
- data/lib/framework/version.rb +2 -2
- data/lib/rhodes.rb +2 -2
- data/platform/android/Rhodes/AndroidManifest.xml +23 -2
- data/platform/android/Rhodes/gen/com/rhomobile/rhodes/R.java +54 -38
- data/platform/android/Rhodes/jni/include/rhodes.h +3 -0
- data/platform/android/Rhodes/jni/include/rhodes/JNIRhodes.h +2 -2
- data/platform/android/Rhodes/jni/include/rhodes/details/rhojava.inc +4 -0
- data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_RhodesService.h +16 -0
- data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_bluetooth_RhoBluetoothManager.h +21 -0
- data/platform/android/Rhodes/jni/src/bluetooth.cpp +169 -0
- data/platform/android/Rhodes/jni/src/callbacks.cpp +10 -0
- data/platform/android/Rhodes/jni/src/event.cpp +429 -0
- data/platform/android/Rhodes/jni/src/fileapi.cpp +51 -1
- data/platform/android/Rhodes/jni/src/rhodes.cpp +16 -0
- data/platform/android/Rhodes/jni/src/sslimpl.cpp +3 -0
- data/platform/android/Rhodes/res/layout/bt_device_list.xml +42 -0
- data/platform/android/Rhodes/res/layout/bt_device_name.xml +7 -0
- data/platform/android/Rhodes/res/values/strings.xml +8 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/AndroidR.java +14 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/Capabilities.java +2 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/Push.java +7 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/PushReceiver.java +58 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/PushService.java +53 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/Rhodes.java +8 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +144 -3
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/IRhoBluetoothManager.java +66 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothDeviceListActivity.java +201 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothManager.java +139 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothManagerNew.java +401 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothManagerOld.java +136 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothSession.java +457 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/UUIDHelper.java +71 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/ImageCapture.java +12 -7
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/Event.java +19 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/EventStore.java +261 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +4 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/TabbedMainView.java +2 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/uri/MailUriHandler.java +10 -2
- data/platform/android/build/RhodesSRC_build.files +33 -22
- data/platform/android/build/android.rake +198 -27
- data/platform/android/build/librhodes_build.files +3 -1
- data/platform/android/build/libruby_build.files +4 -1
- data/platform/bb/Hsqldb/src/com/rho/db/HsqlDBResult.java +2 -2
- data/platform/bb/Hsqldb/src/com/rho/db/HsqlDBRowResult.java +1 -1
- data/platform/bb/Hsqldb/src/org/hsqldb/Expression.java +7 -4
- data/platform/bb/Hsqldb/src/org/hsqldb/Like.java +3 -3
- data/platform/bb/Hsqldb/src/org/hsqldb/Table.java +3 -1
- data/platform/bb/Hsqldb/src/org/hsqldb/Tokenizer.java +1 -1
- data/platform/bb/RubyVM/RubyVM.jdp +1 -0
- data/platform/bb/RubyVM/src/com/rho/RhoConf.java +108 -1
- data/platform/bb/RubyVM/src/com/rho/RhoLogConf.java +7 -1
- data/platform/bb/RubyVM/src/com/rho/RhoRuby.java +7 -4
- data/platform/bb/RubyVM/src/com/rho/ThreadQueue.java +7 -1
- data/platform/bb/RubyVM/src/com/rho/net/AsyncHttp.java +1 -1
- data/platform/bb/RubyVM/src/com/rho/net/NetRequest.java +21 -23
- data/platform/bb/RubyVM/src/com/rho/net/RhoConnection.java +19 -10
- data/platform/bb/RubyVM/src/com/rho/sync/SyncEngine.java +8 -0
- data/platform/bb/RubyVM/src/com/rho/sync/SyncNotify.java +3 -0
- data/platform/bb/RubyVM/src/com/rho/sync/SyncThread.java +14 -17
- data/platform/bb/RubyVM/src/com/xruby/runtime/builtin/RubyFile.java +7 -5
- data/platform/bb/RubyVM/src/com/xruby/runtime/lang/RhoSupport.java +2 -0
- data/platform/bb/RubyVM/src/com/xruby/runtime/lang/RubyRuntime.java +10 -1
- data/platform/bb/RubyVM/src/j2me/io/File.java +7 -6
- data/platform/bb/build/RubyVM_build.files +412 -412
- data/platform/bb/build/bb.rake +42 -18
- data/platform/bb/build/hsqldb_build.files +151 -151
- data/platform/bb/build/rhodes_build.files +44 -40
- data/platform/bb/rhodes/platform/5.0/com/rho/BrowserAdapter5.java +2 -0
- data/platform/bb/rhodes/platform/5.0/com/rho/RhodesApplicationPlatform.java +237 -0
- data/platform/bb/rhodes/platform/common/com/rho/RhodesApplicationPlatform.java +14 -0
- data/platform/bb/rhodes/rhodes.jdp +6 -1
- data/platform/bb/rhodes/src/com/rho/RhoRubyHelper.java +7 -1
- data/platform/bb/rhodes/src/com/rho/RhodesApplicationPlatform.java +14 -0
- data/platform/bb/rhodes/src/com/rho/net/NetworkAccess.java +62 -76
- data/platform/bb/rhodes/src/com/rho/rubyext/RhoCalendar.java +660 -0
- data/platform/bb/rhodes/src/{rhomobile → com/rho/rubyext}/RhoPhonebook.java +95 -38
- data/platform/bb/rhodes/src/com/rho/rubyext/System.java +22 -1
- data/platform/bb/rhodes/src/rhomobile/PushListeningThread.java +26 -6
- data/platform/bb/rhodes/src/rhomobile/RhodesApplication.java +21 -7
- data/platform/bb/rhodes/src/rhomobile/bluetooth/BluetoothManager.java +528 -0
- data/platform/bb/rhodes/src/rhomobile/bluetooth/BluetoothPort.java +281 -0
- data/platform/bb/rhodes/src/rhomobile/bluetooth/BluetoothScreen.java +119 -0
- data/platform/bb/rhodes/src/rhomobile/camera/CameraFilesListener.java +2 -2
- data/platform/iphone/Classes/AppManager/AppManager.m +70 -7
- data/platform/iphone/Classes/Bluetooth/Bluetooth.h +72 -0
- data/platform/iphone/Classes/Bluetooth/Bluetooth.m +414 -0
- data/platform/iphone/Classes/Event/Event.h +12 -0
- data/platform/iphone/Classes/Event/Event.m +300 -0
- data/platform/iphone/Classes/LogOptionsController.h +2 -1
- data/platform/iphone/Classes/LogOptionsController.m +1 -1
- data/platform/iphone/Classes/LogViewController.h +2 -1
- data/platform/iphone/Classes/MapView/MapViewController.h +2 -1
- data/platform/iphone/Classes/RhoViewController.h +16 -0
- data/platform/iphone/Classes/RhoViewController.m +20 -0
- data/platform/iphone/Classes/Rhodes.h +12 -0
- data/platform/iphone/Classes/Rhodes.m +34 -6
- data/platform/iphone/Classes/Signature/SignatureViewController.h +2 -2
- data/platform/iphone/Classes/Signature/SignatureViewController.m +0 -10
- data/platform/iphone/Classes/SimpleMainView.h +2 -2
- data/platform/iphone/Classes/SimpleMainView.m +5 -14
- data/platform/iphone/Classes/SplashViewController.h +2 -2
- data/platform/iphone/Classes/TabbedMainView.h +2 -2
- data/platform/iphone/Classes/TabbedMainView.m +5 -10
- data/platform/iphone/Info.plist +5 -5
- data/platform/iphone/rhorubylib/rhorubylib.xcodeproj/project.pbxproj +39 -0
- data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +47 -4
- data/platform/osx/Rhodes Debugger/NoodleLineNumberView.m +3 -2
- data/platform/shared/common/AutoPointer.h +3 -0
- data/platform/shared/common/RhoConf.cpp +2 -1
- data/platform/shared/common/RhoThread.h +1 -1
- data/platform/shared/common/RhoTime.h +3 -3
- data/platform/shared/common/RhodesApp.cpp +75 -23
- data/platform/shared/common/RhodesApp.h +4 -0
- data/platform/shared/common/RhodesAppBase.h +2 -0
- data/platform/shared/common/ThreadQueue.cpp +23 -18
- data/platform/shared/common/ThreadQueue.h +2 -0
- data/platform/shared/db/res/db/syncdb.schema +39 -39
- data/platform/shared/logging/RhoLogConf.cpp +58 -3
- data/platform/shared/logging/RhoLogConf.h +3 -1
- data/platform/shared/net/CURLNetRequest.cpp +17 -6
- data/platform/shared/net/HttpServer.cpp +125 -25
- data/platform/shared/net/HttpServer.h +4 -3
- data/platform/shared/ruby/ext/bluetooth/bluetooth.i +56 -0
- data/platform/shared/ruby/ext/bluetooth/bluetooth_wrap.c +2563 -0
- data/platform/shared/ruby/ext/calendar/calendar.i +28 -0
- data/platform/shared/ruby/ext/calendar/calendar_wrap.c +2251 -0
- data/platform/shared/ruby/ext/calendar/event.h +41 -0
- data/platform/shared/ruby/ext/calendar/event.i +28 -0
- data/platform/shared/ruby/ext/calendar/event_wrap.c +2151 -0
- data/platform/shared/ruby/ext/rho/rhoruby.c +103 -3
- data/platform/shared/ruby/ext/rho/rhoruby.h +16 -2
- data/platform/shared/ruby/ext/rhoconf/rhoconf.i +12 -0
- data/platform/shared/ruby/ext/rhoconf/rhoconf_wrap.c +101 -0
- data/platform/shared/ruby/ext/system/system.i +14 -0
- data/platform/shared/ruby/ext/system/system_wrap.c +2568 -2208
- data/platform/shared/ruby/main.c +8 -0
- data/platform/shared/rubyext/GeoLocation.cpp +6 -3
- data/platform/shared/rubyext/System.cpp +14 -0
- data/platform/shared/sync/SyncEngine.cpp +9 -1
- data/platform/shared/sync/SyncNotify.cpp +16 -8
- data/platform/shared/sync/SyncNotify.h +1 -0
- data/platform/shared/sync/SyncThread.cpp +7 -12
- data/platform/shared/sync/SyncThread.h +5 -3
- data/platform/wm/build/wm.rake +7 -1
- data/platform/wm/rhodes/Alert.cpp +1 -1
- data/platform/wm/rhodes/MainWindow.cpp +28 -0
- data/platform/wm/rhodes/MainWindow.h +9 -0
- data/platform/wm/rhodes/OutlookApp.cpp +72 -0
- data/platform/wm/rhodes/OutlookApp.h +22 -0
- data/platform/wm/rhodes/Rhodes.cpp +8 -0
- data/platform/wm/rhodes/Rhodes.rc +31 -0
- data/platform/wm/rhodes/bluetooth/Bluetooth.cpp +1274 -0
- data/platform/wm/rhodes/bluetooth/Bluetooth.h +321 -0
- data/platform/wm/rhodes/phonebook/NativeAddressBook.cpp +37 -70
- data/platform/wm/rhodes/phonebook/NativeAddressBook.h +0 -4
- data/platform/wm/rhodes/resource.h +8 -1
- data/platform/wm/rhodes/rho/net/NetRequest.cpp +4 -0
- data/platform/wm/rhodes/rho/net/NetRequestImpl.cpp +6 -4
- data/platform/wm/rhodes/rho/rubyext/calendar.cpp +487 -0
- data/platform/wm/rhodes/rhodes.vcproj +28 -11
- data/platform/wm/rhodes/stdafx.h +1 -0
- data/platform/wm/rubylib/rubylib.vcproj +32 -0
- data/rakefile.rb +8 -1
- data/res/generators/templates/application/Rakefile +1 -1
- data/res/generators/templates/application/app/layout.erb +4 -1
- data/res/generators/templates/application/build.yml +0 -1
- data/res/generators/templates/application/public/css/iphone.css +2 -2
- data/res/generators/templates/application/public/jqtouch/jqtouch-iphone.css +9 -0
- data/res/generators/templates/application/public/jqtouch/jqtouch.css +1 -5
- data/res/generators/templates/application/public/jqtouch/jqtouch.js +3 -2
- data/rhodes.gemspec +1 -1
- data/spec/perfomance_spec/app/Benchmark/benchmark.rb +4 -0
- data/spec/perfomance_spec/app/Benchmark/bulk_results.erb +13 -0
- data/spec/perfomance_spec/app/Benchmark/controller.rb +178 -0
- data/spec/perfomance_spec/app/Benchmark/create_results.erb +13 -0
- data/spec/perfomance_spec/app/Benchmark/customers.erb +35 -0
- data/spec/perfomance_spec/app/Benchmark/index.erb +9 -0
- data/spec/perfomance_spec/app/Benchmark/products.erb +25 -0
- data/spec/perfomance_spec/app/Benchmark/search_results.erb +13 -0
- data/spec/perfomance_spec/app/Customer/customer.rb +6 -0
- data/spec/perfomance_spec/app/Perftest/index.erb +5 -0
- data/spec/perfomance_spec/app/Product/index.erb +25 -0
- data/spec/perfomance_spec/app/Product/product.rb +6 -0
- data/spec/perfomance_spec/app/helpers/application_helper.rb +126 -0
- data/spec/perfomance_spec/app/helpers/browser_helper.rb +18 -0
- data/spec/perfomance_spec/rhoconfig.txt +1 -1
- data/spec/phone_spec/app/Account_s/account_s.rb +5 -2
- data/spec/phone_spec/app/Case/case.rb +1 -0
- data/spec/phone_spec/app/Case_s/case_s.rb +2 -0
- data/spec/phone_spec/app/Data/perftest.json +35 -0
- data/spec/phone_spec/app/Data/testCDATA.xml +11 -0
- data/spec/phone_spec/app/Product/product.rb +1 -1
- data/spec/phone_spec/app/{Spec → spec}/asynchttp_spec.rb +66 -17
- data/spec/phone_spec/app/{Spec → spec}/barcode_spec.rb +0 -0
- data/spec/phone_spec/app/{Spec → spec}/blobsync_spec.rb +0 -0
- data/spec/phone_spec/app/{Spec → spec}/bsearch_spec.rb +0 -0
- data/spec/phone_spec/app/{Spec → spec}/bulksync_spec.rb +0 -0
- data/spec/phone_spec/app/{Spec → spec}/contacts_spec.rb +0 -0
- data/spec/phone_spec/app/{Spec → spec}/crypt_spec.rb +0 -0
- data/spec/phone_spec/app/{Spec → spec}/date_spec.rb +0 -0
- data/spec/phone_spec/app/spec/events_spec.rb +199 -0
- data/spec/phone_spec/app/{Spec → spec}/fixtures/client_info.txt +0 -0
- data/spec/phone_spec/app/{Spec → spec}/fixtures/object_values.txt +0 -0
- data/spec/phone_spec/app/{Spec → spec}/json_spec.rb +11 -2
- data/spec/phone_spec/app/{Spec → spec}/mapview_spec.rb +0 -0
- data/spec/phone_spec/app/{Spec → spec}/nativebar_spec.rb +0 -0
- data/spec/phone_spec/app/{Spec → spec}/navbar_spec.rb +0 -0
- data/spec/phone_spec/app/{Spec → spec}/pagination/fixtures/object_values.txt +0 -0
- data/spec/phone_spec/app/{Spec → spec}/rho_controller_spec.rb +5 -0
- data/spec/phone_spec/app/{Spec → spec}/rho_spec.rb +48 -0
- data/spec/phone_spec/app/{Spec → spec}/rhofile_spec.rb +9 -6
- data/spec/phone_spec/app/{Spec → spec}/rhom_object_spec.rb +188 -9
- data/spec/phone_spec/app/{Spec → spec}/syncengine_spec.rb +0 -0
- data/spec/phone_spec/app/{Spec → spec}/xml_spec.rb +15 -0
- data/spec/phone_spec/app/{Spec → spec}/xruby_spec.rb +0 -0
- data/spec/phone_spec/app/spec_runner.rb +4 -1
- data/spec/phone_spec/build.yml +2 -1
- metadata +95 -31
- data/platform/bb/rhodes/platform/5.0/com/rho/RhoMainScreen.java +0 -36
- data/platform/bb/rhodes/platform/6.0/com/rho/BrowserAdapter5.java +0 -155
- data/platform/bb/rhodes/platform/6.0/com/rho/RhoMainScreen.java +0 -36
data/platform/shared/ruby/main.c
CHANGED
@@ -91,10 +91,13 @@ void CGeoLocation::setGeoCallback(const char *url, char* params, int timeout_sec
|
|
91
91
|
else
|
92
92
|
m_Notify = CGeoNotification(url?url:"",params?params:"");
|
93
93
|
|
94
|
-
|
94
|
+
if ( url && *url )
|
95
|
+
{
|
96
|
+
setPingTimeoutSec(timeout_sec);
|
95
97
|
|
96
|
-
|
97
|
-
|
98
|
+
if ( !rho_geo_is_available() )
|
99
|
+
callGeoCallback(true, true);
|
100
|
+
}
|
98
101
|
}
|
99
102
|
|
100
103
|
int CGeoLocation::getDefaultPingTimeoutSec()
|
@@ -65,4 +65,18 @@ void rho_sys_set_screen_rotation_notification(const char *url, const char* param
|
|
65
65
|
RHODESAPP().setScreenRotationNotification(url, params);
|
66
66
|
}
|
67
67
|
|
68
|
+
void rho_sys_unzip_file(const char *url)
|
69
|
+
{
|
70
|
+
rho_unzip_file(url);
|
71
|
+
}
|
72
|
+
|
73
|
+
#if defined(OS_MACOSX) || defined(OS_ANDROID)
|
74
|
+
// implemented in platform code
|
75
|
+
#else
|
76
|
+
int rho_sys_set_sleeping(int sleeping)
|
77
|
+
{
|
78
|
+
return 1;
|
79
|
+
}
|
80
|
+
#endif //defined(OS_MACOSX) || defined(OS_ANDROID)
|
81
|
+
|
68
82
|
} //extern "C"
|
@@ -717,6 +717,7 @@ void CSyncEngine::login(String name, String password, const CSyncNotification& o
|
|
717
717
|
" \"belongs_to\":{\"brand\":\"Customer\"}}}}");//, \"schema_version\":\"1.0\"
|
718
718
|
*/
|
719
719
|
PROF_START("Login");
|
720
|
+
m_bStopByUser = false;
|
720
721
|
//try {
|
721
722
|
|
722
723
|
NetResponse( resp, getNet().pullCookies( getProtocol().getLoginUrl(), getProtocol().getLoginBody(name, password), this ) );
|
@@ -734,7 +735,10 @@ void CSyncEngine::login(String name, String password, const CSyncNotification& o
|
|
734
735
|
getNotify().callLoginCallback(oNotify, RhoAppAdapter.ERR_UNEXPECTEDSERVERRESPONSE, "" );
|
735
736
|
return;
|
736
737
|
}
|
737
|
-
|
738
|
+
|
739
|
+
if ( isStoppedByUser() )
|
740
|
+
return;
|
741
|
+
|
738
742
|
{
|
739
743
|
DBResult( res , getUserDB().executeSQL("SELECT * FROM client_info") );
|
740
744
|
if ( !res.isEnd() )
|
@@ -780,6 +784,10 @@ String CSyncEngine::loadSession()
|
|
780
784
|
|
781
785
|
void CSyncEngine::logout()
|
782
786
|
{
|
787
|
+
m_bStopByUser = true;
|
788
|
+
if(m_NetRequest)
|
789
|
+
m_NetRequest->cancel();
|
790
|
+
|
783
791
|
getUserDB().executeSQL( "UPDATE client_info SET session=NULL" );
|
784
792
|
m_strSession = "";
|
785
793
|
|
@@ -251,6 +251,12 @@ CSyncNotification::CSyncNotification(String strUrl, String strParams, boolean bR
|
|
251
251
|
m_strUrl = RHODESAPPBASE().canonicalizeRhoUrl(strUrl);
|
252
252
|
}
|
253
253
|
|
254
|
+
CSyncNotification::~CSyncNotification()
|
255
|
+
{
|
256
|
+
if ( m_cCallbackData )
|
257
|
+
rho_free_callbackdata(m_cCallbackData);
|
258
|
+
}
|
259
|
+
|
254
260
|
String CSyncNotification::toString()const
|
255
261
|
{
|
256
262
|
if ( m_cCallback )
|
@@ -366,16 +372,15 @@ void CSyncNotify::doFireSyncNotification( CSyncSource* src, boolean bFinish, int
|
|
366
372
|
if ( getSync().isStoppedByUser() )
|
367
373
|
return;
|
368
374
|
|
369
|
-
CSyncNotification
|
375
|
+
CSyncNotification* pSN;
|
370
376
|
String strBody;
|
371
377
|
boolean bRemoveAfterFire = bFinish;
|
372
378
|
{
|
373
379
|
synchronized(m_mxSyncNotifications)
|
374
380
|
{
|
375
|
-
|
381
|
+
pSN = getSyncNotifyBySrc(src);
|
376
382
|
if ( pSN == null )
|
377
383
|
return;
|
378
|
-
oSN = *pSN;
|
379
384
|
|
380
385
|
strBody = "";
|
381
386
|
|
@@ -420,15 +425,15 @@ void CSyncNotify::doFireSyncNotification( CSyncSource* src, boolean bFinish, int
|
|
420
425
|
strBody += "in_progress";
|
421
426
|
|
422
427
|
strBody += "&rho_callback=1";
|
423
|
-
if (
|
424
|
-
strBody += "&" +
|
428
|
+
if ( pSN->m_strParams.length() > 0 )
|
429
|
+
strBody += "&" + pSN->m_strParams;
|
425
430
|
|
426
|
-
bRemoveAfterFire = bRemoveAfterFire &&
|
431
|
+
bRemoveAfterFire = bRemoveAfterFire && pSN->m_bRemoveAfterFire;
|
427
432
|
}
|
428
433
|
}
|
429
|
-
LOG(INFO) + "Fire notification. Source : " + (src != null ? (*src).getName():"") + "; " +
|
434
|
+
LOG(INFO) + "Fire notification. Source : " + (src != null ? (*src).getName():"") + "; " + pSN->toString();
|
430
435
|
|
431
|
-
if ( callNotify(
|
436
|
+
if ( callNotify(*pSN, strBody) || bRemoveAfterFire)
|
432
437
|
clearNotification(src);
|
433
438
|
}
|
434
439
|
|
@@ -518,6 +523,9 @@ int CSyncNotify::getLastSyncObjectCount(int nSrcID)
|
|
518
523
|
|
519
524
|
void CSyncNotify::callLoginCallback(const CSyncNotification& oNotify, int nErrCode, String strMessage)
|
520
525
|
{
|
526
|
+
if ( getSync().isStoppedByUser() )
|
527
|
+
return;
|
528
|
+
|
521
529
|
//try{
|
522
530
|
String strBody = "error_code=" + convertToStringA(nErrCode);
|
523
531
|
strBody += "&error_message=";
|
@@ -99,8 +99,8 @@ int CSyncThread::getLastPollInterval()
|
|
99
99
|
|
100
100
|
void CSyncThread::processCommands()//throws Exception
|
101
101
|
{
|
102
|
-
if ( isNoCommands() )
|
103
|
-
|
102
|
+
if ( isNoCommands() && getPollInterval()>0 )
|
103
|
+
addQueueCommandInt(new CSyncCommand(scSyncAll,false));
|
104
104
|
|
105
105
|
CThreadQueue::processCommands();
|
106
106
|
}
|
@@ -118,13 +118,6 @@ void CSyncThread::processCommand(IQueueCommand* pCmd)
|
|
118
118
|
CSyncCommand& oSyncCmd = *((CSyncCommand*)pCmd);
|
119
119
|
switch(oSyncCmd.m_nCmdCode)
|
120
120
|
{
|
121
|
-
case scNone:
|
122
|
-
if ( getPollInterval() )
|
123
|
-
{
|
124
|
-
checkShowStatus(oSyncCmd);
|
125
|
-
m_oSyncEngine.doSyncAllSources();
|
126
|
-
}
|
127
|
-
break;
|
128
121
|
case scSyncAll:
|
129
122
|
checkShowStatus(oSyncCmd);
|
130
123
|
m_oSyncEngine.doSyncAllSources();
|
@@ -148,7 +141,7 @@ void CSyncThread::processCommand(IQueueCommand* pCmd)
|
|
148
141
|
CSyncLoginCommand& oLoginCmd = (CSyncLoginCommand&)oSyncCmd;
|
149
142
|
|
150
143
|
checkShowStatus(oSyncCmd);
|
151
|
-
m_oSyncEngine.login(oLoginCmd.m_strName, oLoginCmd.m_strPassword, oLoginCmd.
|
144
|
+
m_oSyncEngine.login(oLoginCmd.m_strName, oLoginCmd.m_strPassword, *oLoginCmd.m_pNotify );
|
152
145
|
}
|
153
146
|
break;
|
154
147
|
}
|
@@ -297,7 +290,8 @@ void rho_sync_set_syncserver(const char* syncserver)
|
|
297
290
|
unsigned long rho_sync_login(const char *name, const char *password, const char* callback)
|
298
291
|
{
|
299
292
|
rho_sync_stop();
|
300
|
-
CSyncThread::getInstance()->addQueueCommand(new CSyncThread::CSyncLoginCommand(name, password,
|
293
|
+
CSyncThread::getInstance()->addQueueCommand(new CSyncThread::CSyncLoginCommand(name, password,
|
294
|
+
new CSyncNotification(callback, "", false) ) );
|
301
295
|
|
302
296
|
return CSyncThread::getInstance()->getRetValue();
|
303
297
|
}
|
@@ -305,7 +299,8 @@ unsigned long rho_sync_login(const char *name, const char *password, const char*
|
|
305
299
|
unsigned long rho_sync_login_c(const char *name, const char *password, /*RHOC_CALLBACK*/void* callback, void* callback_data)
|
306
300
|
{
|
307
301
|
rho_sync_stop();
|
308
|
-
CSyncThread::getInstance()->addQueueCommand(new CSyncThread::CSyncLoginCommand(name, password,
|
302
|
+
CSyncThread::getInstance()->addQueueCommand(new CSyncThread::CSyncLoginCommand(name, password,
|
303
|
+
new CSyncNotification((RHOC_CALLBACK)callback,callback_data,false)) );
|
309
304
|
|
310
305
|
return CSyncThread::getInstance()->getRetValue();
|
311
306
|
}
|
@@ -72,14 +72,16 @@ public:
|
|
72
72
|
{
|
73
73
|
public:
|
74
74
|
String m_strName, m_strPassword;
|
75
|
-
CSyncNotification
|
76
|
-
CSyncLoginCommand(String name, String password,
|
77
|
-
CSyncCommand(CSyncThread::scLogin,"",false)
|
75
|
+
common::CAutoPtr<CSyncNotification> m_pNotify;
|
76
|
+
CSyncLoginCommand(String name, String password, CSyncNotification* pNotify) :
|
77
|
+
CSyncCommand(CSyncThread::scLogin,"",false)
|
78
78
|
{
|
79
79
|
m_strName = name;
|
80
80
|
m_strPassword = password;
|
81
|
+
m_pNotify = pNotify;
|
81
82
|
}
|
82
83
|
};
|
84
|
+
|
83
85
|
class CSyncSearchCommand : public CSyncCommand
|
84
86
|
{
|
85
87
|
public:
|
data/platform/wm/build/wm.rake
CHANGED
@@ -327,7 +327,13 @@ namespace "run" do
|
|
327
327
|
end
|
328
328
|
|
329
329
|
task :phone_spec do
|
330
|
-
Jake.run_spec_app('win32',
|
330
|
+
exit 1 if Jake.run_spec_app('win32','phone_spec')
|
331
|
+
exit 0
|
332
|
+
end
|
333
|
+
|
334
|
+
task :framework_spec do
|
335
|
+
exit 1 if Jake.run_spec_app('win32','framework_spec')
|
336
|
+
exit 0
|
331
337
|
end
|
332
338
|
|
333
339
|
end
|
@@ -157,7 +157,7 @@ LRESULT CAlertDialog::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lP
|
|
157
157
|
if (desiredDlgWidth > (dlgRect.right - dlgRect.left)) {
|
158
158
|
// if desired width is bigger than maximum width
|
159
159
|
// - recalculate dialog window with wrapped text
|
160
|
-
if (desiredDlgWidth >= maxWidth) {
|
160
|
+
if (desiredDlgWidth >= (int)maxWidth) {
|
161
161
|
msgWidth = maxWidth - (iconRect.right + INDENT*2 + xBorderWidth*2);
|
162
162
|
msgHeight = (((m_message.length() * tm.tmAveCharWidth) / msgWidth) + 1)
|
163
163
|
* (tm.tmHeight + tm.tmExternalLeading + tm.tmInternalLeading);
|
@@ -25,6 +25,8 @@
|
|
25
25
|
#include "sync/SyncThread.h"
|
26
26
|
#include "common/RhoFilePath.h"
|
27
27
|
#include "common/RhoFile.h"
|
28
|
+
#include "bluetooth/Bluetooth.h"
|
29
|
+
|
28
30
|
|
29
31
|
#include <hash_map>
|
30
32
|
|
@@ -531,6 +533,32 @@ LRESULT CMainWindow::OnAlertHidePopup (UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM
|
|
531
533
|
return 0;
|
532
534
|
}
|
533
535
|
|
536
|
+
LRESULT CMainWindow::OnBluetoothDiscover (UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/) {
|
537
|
+
#ifndef OS_WINDOWS
|
538
|
+
RhoDiscoverDlg* dlg = RhoBluetoothManager::getInstance()->getDiscoverDlg();
|
539
|
+
dlg->openDialog(RhoBluetoothManager::getInstance());
|
540
|
+
#endif // OS_WINDOWS
|
541
|
+
return 0;
|
542
|
+
}
|
543
|
+
|
544
|
+
LRESULT CMainWindow::OnBluetoothDiscovered (UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/) {
|
545
|
+
#ifndef OS_WINDOWS
|
546
|
+
RhoDiscoveredDlg* dlg = RhoBluetoothManager::getInstance()->getDiscoveredDlg();
|
547
|
+
dlg->openDialog(RhoBluetoothManager::getInstance());
|
548
|
+
#endif // OS_WINDOWS
|
549
|
+
return 0;
|
550
|
+
}
|
551
|
+
|
552
|
+
LRESULT CMainWindow::OnBluetoothCallback(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/) {
|
553
|
+
char* callback_url = (char*)wParam;
|
554
|
+
char* body = (char*)lParam;
|
555
|
+
rho_rhodesapp_callBluetoothCallback(callback_url, body);
|
556
|
+
delete callback_url;
|
557
|
+
delete body;
|
558
|
+
return 0;
|
559
|
+
}
|
560
|
+
|
561
|
+
|
534
562
|
LRESULT CMainWindow::OnDateTimePicker (UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/)
|
535
563
|
{
|
536
564
|
CDateTimeMessage *msg = (CDateTimeMessage *)lParam;
|
@@ -28,6 +28,9 @@ static UINT WM_CONNECTIONSNETWORKCOUNT = ::RegisterWindowMessage(L"RHODES_WM_CON
|
|
28
28
|
static UINT WM_ALERT_SHOW_POPUP = ::RegisterWindowMessage(L"RHODES_WM_ALERT_SHOW_POPUP");
|
29
29
|
static UINT WM_ALERT_HIDE_POPUP = ::RegisterWindowMessage(L"RHODES_WM_ALERT_HIDE_POPUP");
|
30
30
|
static UINT WM_DATETIME_PICKER = ::RegisterWindowMessage(L"RHODES_WM_DATETIME_PICKER");
|
31
|
+
static UINT WM_BLUETOOTH_DISCOVER = ::RegisterWindowMessage(L"RHODES_WM_BLUETOOTH_DISCOVER");
|
32
|
+
static UINT WM_BLUETOOTH_DISCOVERED = ::RegisterWindowMessage(L"RHODES_WM_BLUETOOTH_DISCOVERED");
|
33
|
+
static UINT WM_BLUETOOTH_CALLBACK = ::RegisterWindowMessage(L"RHODES_WM_BLUETOOTH_CALLBACK");
|
31
34
|
|
32
35
|
|
33
36
|
class CMainWindow :
|
@@ -94,6 +97,9 @@ public:
|
|
94
97
|
MESSAGE_HANDLER(WM_ALERT_SHOW_POPUP, OnAlertShowPopup)
|
95
98
|
MESSAGE_HANDLER(WM_ALERT_HIDE_POPUP, OnAlertHidePopup);
|
96
99
|
MESSAGE_HANDLER(WM_DATETIME_PICKER, OnDateTimePicker);
|
100
|
+
MESSAGE_HANDLER(WM_BLUETOOTH_DISCOVER, OnBluetoothDiscover);
|
101
|
+
MESSAGE_HANDLER(WM_BLUETOOTH_DISCOVERED, OnBluetoothDiscovered);
|
102
|
+
MESSAGE_HANDLER(WM_BLUETOOTH_CALLBACK, OnBluetoothCallback);
|
97
103
|
END_MSG_MAP()
|
98
104
|
|
99
105
|
private:
|
@@ -127,6 +133,9 @@ private:
|
|
127
133
|
LRESULT OnAlertShowPopup (UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/);
|
128
134
|
LRESULT OnAlertHidePopup (UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/);
|
129
135
|
LRESULT OnDateTimePicker (UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/);
|
136
|
+
LRESULT OnBluetoothDiscover (UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/);
|
137
|
+
LRESULT OnBluetoothDiscovered (UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/);
|
138
|
+
LRESULT OnBluetoothCallback (UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/);
|
130
139
|
|
131
140
|
public:
|
132
141
|
BEGIN_SINK_MAP(CMainWindow)
|
@@ -0,0 +1,72 @@
|
|
1
|
+
#include "StdAfx.h"
|
2
|
+
#include "OutlookApp.h"
|
3
|
+
|
4
|
+
#ifdef _WIN32_WCE
|
5
|
+
#define INITGUID
|
6
|
+
#include <pimstore.h>
|
7
|
+
#endif //_WIN32_WCE
|
8
|
+
|
9
|
+
COutlookApp* COutlookApp::m_pInstance = 0;
|
10
|
+
IMPLEMENT_LOGCLASS(COutlookApp,"OutlookApp");
|
11
|
+
|
12
|
+
/*static*/ COutlookApp* COutlookApp::Create()
|
13
|
+
{
|
14
|
+
if ( m_pInstance )
|
15
|
+
return m_pInstance;
|
16
|
+
|
17
|
+
m_pInstance = new COutlookApp();
|
18
|
+
return m_pInstance;
|
19
|
+
}
|
20
|
+
|
21
|
+
/*static*/ void COutlookApp::Destroy()
|
22
|
+
{
|
23
|
+
if ( m_pInstance )
|
24
|
+
delete m_pInstance;
|
25
|
+
|
26
|
+
m_pInstance = 0;
|
27
|
+
}
|
28
|
+
|
29
|
+
COutlookApp::COutlookApp(void)
|
30
|
+
{
|
31
|
+
HRESULT hr = CoInitializeEx( NULL, 0);
|
32
|
+
|
33
|
+
#ifdef _WIN32_WCE
|
34
|
+
IUnknown* pUnknown = NULL;
|
35
|
+
hr = CoCreateInstance(__uuidof(Application),//CLSID_Application,
|
36
|
+
NULL, CLSCTX_INPROC_SERVER,
|
37
|
+
IID_IUnknown,
|
38
|
+
(void **)&pUnknown);
|
39
|
+
if (hr != S_OK) {
|
40
|
+
// CoCreateInstance failed.
|
41
|
+
LOG(ERROR) + "CoCreateInstance failed.";
|
42
|
+
return;
|
43
|
+
}
|
44
|
+
|
45
|
+
//IID_IPOutlookApp
|
46
|
+
hr = pUnknown->QueryInterface(__uuidof(IPOutlookApp), (void**)&m_outlookApp);
|
47
|
+
if (hr != S_OK) {
|
48
|
+
// QueryInterface failed.
|
49
|
+
LOG(ERROR) + "QueryInterface failed.";
|
50
|
+
return;
|
51
|
+
}
|
52
|
+
|
53
|
+
hr = m_outlookApp->Logon(NULL);
|
54
|
+
if (hr != S_OK) {
|
55
|
+
// Logon failed.
|
56
|
+
LOG(ERROR) + "Logon failed.";
|
57
|
+
m_outlookApp->Release();
|
58
|
+
return;
|
59
|
+
}
|
60
|
+
#endif //_WIN32_WCE
|
61
|
+
}
|
62
|
+
|
63
|
+
COutlookApp::~COutlookApp(void)
|
64
|
+
{
|
65
|
+
#ifdef _WIN32_WCE
|
66
|
+
if(m_outlookApp)
|
67
|
+
m_outlookApp->Release();
|
68
|
+
#endif //_WIN32_WCE
|
69
|
+
|
70
|
+
m_outlookApp = 0;
|
71
|
+
CoUninitialize();
|
72
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
#pragma once
|
2
|
+
|
3
|
+
#include "logging/RhoLog.h"
|
4
|
+
|
5
|
+
struct IPOutlookApp;
|
6
|
+
class COutlookApp
|
7
|
+
{
|
8
|
+
DEFINE_LOGCLASS;
|
9
|
+
|
10
|
+
IPOutlookApp* m_outlookApp;
|
11
|
+
|
12
|
+
static COutlookApp* m_pInstance;
|
13
|
+
COutlookApp();
|
14
|
+
public:
|
15
|
+
~COutlookApp();
|
16
|
+
|
17
|
+
static COutlookApp* Create();
|
18
|
+
static void Destroy();
|
19
|
+
static COutlookApp* getInstance(){ return m_pInstance; }
|
20
|
+
|
21
|
+
IPOutlookApp* getApp(){ return m_outlookApp;}
|
22
|
+
};
|
@@ -503,6 +503,14 @@ extern "C" void Init_NavBar(void)
|
|
503
503
|
{
|
504
504
|
}
|
505
505
|
|
506
|
+
//extern "C" void Init_RhoEvent()
|
507
|
+
//{
|
508
|
+
//}
|
509
|
+
|
510
|
+
//extern "C" void Init_Calendar()
|
511
|
+
//{
|
512
|
+
//}
|
513
|
+
|
506
514
|
/*BOOL EnumRhodesWindowsProc(HWND hwnd,LPARAM lParam)
|
507
515
|
{
|
508
516
|
char buf[255] = {0};
|
@@ -207,6 +207,21 @@ BEGIN
|
|
207
207
|
LTEXT "Time:",IDC_TIME_STATIC,7,3,27,8
|
208
208
|
END
|
209
209
|
|
210
|
+
IDD_BLUETOOTH_DISCOVER DIALOG 0, 0, 172, 186
|
211
|
+
STYLE DS_SETFONT | WS_POPUP | WS_SYSMENU
|
212
|
+
FONT 8, "Microsoft Sans Serif"
|
213
|
+
BEGIN
|
214
|
+
LISTBOX IDC_BT_LIST,7,34,145,77,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
215
|
+
CTEXT "Please wait while searching devices ...",IDC_BT_STATIC,7,19,144,8
|
216
|
+
END
|
217
|
+
|
218
|
+
IDD_BLUETOOTH_DISCOVERED DIALOG 0, 0, 172, 186
|
219
|
+
STYLE DS_SETFONT | WS_POPUP | WS_SYSMENU
|
220
|
+
FONT 8, "Microsoft Sans Serif"
|
221
|
+
BEGIN
|
222
|
+
CTEXT "Wait for connection ...",IDC_STATIC,10,49,130,16
|
223
|
+
END
|
224
|
+
|
210
225
|
|
211
226
|
/////////////////////////////////////////////////////////////////////////////
|
212
227
|
//
|
@@ -267,6 +282,22 @@ BEGIN
|
|
267
282
|
RIGHTMARGIN, 162
|
268
283
|
TOPMARGIN, 1
|
269
284
|
END
|
285
|
+
|
286
|
+
IDD_BLUETOOTH_DISCOVER, DIALOG
|
287
|
+
BEGIN
|
288
|
+
LEFTMARGIN, 7
|
289
|
+
RIGHTMARGIN, 164
|
290
|
+
TOPMARGIN, 3
|
291
|
+
BOTTOMMARGIN, 179
|
292
|
+
END
|
293
|
+
|
294
|
+
IDD_BLUETOOTH_DISCOVERED, DIALOG
|
295
|
+
BEGIN
|
296
|
+
LEFTMARGIN, 7
|
297
|
+
RIGHTMARGIN, 164
|
298
|
+
TOPMARGIN, 3
|
299
|
+
BOTTOMMARGIN, 179
|
300
|
+
END
|
270
301
|
END
|
271
302
|
#endif // APSTUDIO_INVOKED
|
272
303
|
|