rhodes 2.1.0 → 2.2.0.beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
|