rhodes 2.2.3 → 2.2.4.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +13 -0
- data/Rakefile +1 -1
- data/bin/c2dm.rb +59 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Rakefile +4 -0
- data/lib/framework/rho/rho.rb +2 -0
- data/lib/framework/rho/rhoapplication.rb +1 -0
- data/lib/framework/rhodes.rb +1 -1
- data/lib/framework/version.rb +1 -1
- data/lib/rhodes.rb +1 -1
- data/platform/android/Rhodes/AndroidManifest.xml +1 -1
- data/platform/android/Rhodes/jni/src/callbacks.cpp +21 -0
- data/platform/android/Rhodes/jni/src/nativebar.cpp +4 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoActivity.java +3 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/Rhodes.java +68 -7
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +113 -10
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/SplashScreen.java +34 -3
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothManager.java +21 -17
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/datetime/DateTimePickerScreen.java +29 -5
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +7 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/uri/ExternalHttpHandler.java +37 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/uri/MailUriHandler.java +0 -1
- data/platform/android/build/RhodesSRC_build.files +24 -23
- data/platform/bb/Hsqldb/src/com/rho/db/HsqlDBStorage.java +6 -0
- data/platform/bb/RubyVM/src/com/rho/RhoLogger.java +42 -20
- data/platform/bb/RubyVM/src/com/rho/db/DBAdapter.java +111 -19
- data/platform/bb/RubyVM/src/com/rho/db/IDBStorage.java +2 -0
- data/platform/bb/RubyVM/src/com/rho/net/NetRequest.java +2 -1
- data/platform/bb/RubyVM/src/com/rho/net/URI.java +80 -0
- data/platform/bb/RubyVM/src/com/rho/sync/SyncEngine.java +21 -1
- data/platform/bb/RubyVM/src/com/rho/sync/SyncNotify.java +6 -1
- data/platform/bb/RubyVM/src/com/rho/sync/SyncSource.java +139 -46
- data/platform/bb/build/bb.rake +8 -3
- data/platform/bb/rhodes/platform/5.0/com/rho/RhodesApplicationPlatform.java +32 -21
- data/platform/bb/rhodes/src/com/rho/RhoRubyHelper.java +31 -14
- data/platform/bb/rhodes/src/com/rho/file/Jsr75File.java +3 -2
- data/platform/bb/rhodes/src/com/rho/rubyext/Alert.java +3 -2
- data/platform/bb/rhodes/src/com/rho/rubyext/System.java +28 -0
- data/platform/bb/rhodes/src/rhomobile/RhodesApplication.java +111 -26
- data/platform/iphone/Classes/AppManager/AppManager.m +22 -0
- data/platform/iphone/Classes/DateTimePickerDelegate.m +3 -0
- data/platform/iphone/Classes/MapView/MapViewController.h +8 -3
- data/platform/iphone/Classes/MapView/MapViewController.m +63 -12
- data/platform/iphone/Classes/NativeBar.h +4 -3
- data/platform/iphone/Classes/NativeBar.m +28 -1
- data/platform/iphone/Classes/Rhodes.m +87 -20
- data/platform/iphone/Classes/Signature/SignatureView.m +16 -10
- data/platform/iphone/Classes/Signature/SignatureViewController.m +2 -0
- data/platform/iphone/Classes/SimpleMainView.h +2 -0
- data/platform/iphone/Classes/SimpleMainView.m +120 -35
- data/platform/iphone/Classes/SplashViewController.h +8 -1
- data/platform/iphone/Classes/SplashViewController.m +233 -11
- data/platform/iphone/Classes/SplitView/LeftViewController.h +30 -0
- data/platform/iphone/Classes/SplitView/LeftViewController.m +189 -0
- data/platform/iphone/Classes/SplitView/RightViewController.h +54 -0
- data/platform/iphone/Classes/SplitView/RightViewController.m +268 -0
- data/platform/iphone/Classes/SplitView/SplitViewDelegate.h +22 -0
- data/platform/iphone/Classes/SplitView/SplitViewDelegate.m +92 -0
- data/platform/iphone/Classes/SplitView/SplittedMainView.h +65 -0
- data/platform/iphone/Classes/SplitView/SplittedMainView.m +304 -0
- data/platform/iphone/Classes/TabbedMainView.m +23 -6
- data/platform/iphone/Classes/WebView.m +1 -1
- data/platform/iphone/Info.plist +11 -2
- data/platform/iphone/rbuild/iphone.rake +80 -3
- data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +50 -3
- data/platform/shared/common/RhoConf.cpp +5 -5
- data/platform/shared/db/DBAdapter.cpp +81 -3
- data/platform/shared/db/DBAdapter.h +1 -0
- data/platform/shared/json/JSONIterator.cpp +5 -0
- data/platform/shared/json/JSONIterator.h +1 -0
- data/platform/shared/net/CURLNetRequest.cpp +2 -2
- data/platform/shared/net/URI.cpp +53 -0
- data/platform/shared/net/URI.h +5 -1
- data/platform/shared/ruby/ext/system/system.i +9 -1
- data/platform/shared/ruby/ext/system/system_wrap.c +2632 -2574
- data/platform/shared/ruby/win32/win32.c +2 -0
- data/platform/shared/ruby/wince/direct.c +4 -0
- data/platform/shared/sync/SyncEngine.cpp +20 -1
- data/platform/shared/sync/SyncEngine.h +6 -1
- data/platform/shared/sync/SyncNotify.cpp +6 -1
- data/platform/shared/sync/SyncSource.cpp +130 -74
- data/platform/shared/sync/SyncSource.h +3 -1
- data/platform/wm/rhodes.sln +30 -22
- data/platform/wm/rhodes/Alert.cpp +4 -3
- data/platform/wm/rhodes/MainWindow.cpp +73 -20
- data/platform/wm/rhodes/RingtoneManager.cpp +4 -4
- data/platform/wm/rhodes/RingtoneManager.h +2 -1
- data/platform/wm/rhodes/Vibrate.cpp +1 -2
- data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +37 -0
- data/platform/wm/rhodes/rhodes.vcproj +219 -5
- data/platform/wm/rhodes/stdafx.h +1 -0
- data/platform/wm/rubylib/rubylib.vcproj +10 -8
- data/platform/wm/sqlite3/sqlite3.vcproj +6 -4
- data/platform/wm/syncengine/syncengine.vcproj +7 -5
- data/platform/wm/tcmalloc/tcmalloc.vcproj +11 -8
- data/rakefile.rb +1 -1
- data/res/generators/templates/application/public/jqtouch/jqtouch.js +9 -1
- data/rhodes.gemspec +1 -1
- data/spec/phone_spec/app/spec/bulksync_spec.rb +71 -1
- metadata +17 -5
@@ -4725,6 +4725,7 @@ rb_w32_utime(const char *path, const struct utimbuf *times)
|
|
4725
4725
|
return ret;
|
4726
4726
|
}
|
4727
4727
|
|
4728
|
+
#ifndef _WIN32_WCE
|
4728
4729
|
int
|
4729
4730
|
rb_w32_mkdir(const char *path, int mode)
|
4730
4731
|
{
|
@@ -4742,6 +4743,7 @@ rb_w32_mkdir(const char *path, int mode)
|
|
4742
4743
|
);
|
4743
4744
|
return ret;
|
4744
4745
|
}
|
4746
|
+
#endif //#ifndef _WIN32_WCE
|
4745
4747
|
|
4746
4748
|
int
|
4747
4749
|
rb_w32_rmdir(const char *path)
|
@@ -44,6 +44,7 @@ void CSyncEngine::prepareSync(ESyncState eState, const CSourceID* oSrcID)
|
|
44
44
|
m_bStopByUser = false;
|
45
45
|
m_nErrCode = RhoAppAdapter.ERR_NONE;
|
46
46
|
m_strError = "";
|
47
|
+
m_bIsSchemaChanged = false;
|
47
48
|
|
48
49
|
loadAllSources();
|
49
50
|
|
@@ -302,6 +303,22 @@ CSyncSource* CSyncEngine::findSourceByName(const String& strSrcName)
|
|
302
303
|
return findSource(CSourceID(strSrcName));
|
303
304
|
}
|
304
305
|
|
306
|
+
void CSyncEngine::applyChangedValues(db::CDBAdapter& db)
|
307
|
+
{
|
308
|
+
DBResult( resSrc , db.executeSQL( "SELECT DISTINCT(source_id) FROM changed_values" ) );
|
309
|
+
for ( ; !resSrc.isEnd(); resSrc.next() )
|
310
|
+
{
|
311
|
+
int nSrcID = resSrc.getIntByIdx(0);
|
312
|
+
DBResult( res, db.executeSQL("SELECT source_id,sync_type,name, partition from sources WHERE source_id=?", nSrcID) );
|
313
|
+
if ( res.isEnd() )
|
314
|
+
continue;
|
315
|
+
|
316
|
+
CSyncSource src( res.getIntByIdx(0), res.getStringByIdx(2), "none", db, *this );
|
317
|
+
|
318
|
+
src.applyChangedValues();
|
319
|
+
}
|
320
|
+
}
|
321
|
+
|
305
322
|
void CSyncEngine::loadAllSources()
|
306
323
|
{
|
307
324
|
m_sources.removeAllElements();
|
@@ -642,8 +659,10 @@ void CSyncEngine::loadBulkPartition(const String& strPartition )
|
|
642
659
|
String CSyncEngine::makeBulkDataFileName(String strDataUrl, String strDbPath, String strExt)
|
643
660
|
{
|
644
661
|
CFilePath oUrlPath(strDataUrl);
|
645
|
-
|
662
|
+
String strNewName = oUrlPath.getBaseName();
|
663
|
+
|
646
664
|
String strOldName = RHOCONF().getString("bulksync_filename");
|
665
|
+
|
647
666
|
if ( strOldName.length() > 0 && strNewName.compare(strOldName) != 0 )
|
648
667
|
{
|
649
668
|
CFilePath oFilePath(strDbPath);
|
@@ -47,7 +47,7 @@ private:
|
|
47
47
|
boolean m_bNoThreaded;
|
48
48
|
int m_nErrCode;
|
49
49
|
String m_strError;
|
50
|
-
boolean m_bIsSearch;
|
50
|
+
boolean m_bIsSearch, m_bIsSchemaChanged;
|
51
51
|
|
52
52
|
public:
|
53
53
|
CSyncEngine();
|
@@ -80,6 +80,9 @@ public:
|
|
80
80
|
String getClientID()const{ return m_clientID; }
|
81
81
|
void setSession(String strSession){m_strSession=strSession;}
|
82
82
|
boolean isSessionExist(){ return m_strSession.length() > 0; }
|
83
|
+
|
84
|
+
void setSchemaChanged(boolean bChanged){ m_bIsSchemaChanged = bChanged; }
|
85
|
+
boolean isSchemaChanged(){ return m_bIsSchemaChanged; }
|
83
86
|
//IRhoSession
|
84
87
|
virtual const String& getSession(){ return m_strSession; }
|
85
88
|
virtual const String& getContentType(){ return getProtocol().getContentType();}
|
@@ -106,6 +109,8 @@ public:
|
|
106
109
|
|
107
110
|
boolean isNoThreadedMode(){ return m_bNoThreaded; }
|
108
111
|
void setNonThreadedMode(boolean b){m_bNoThreaded = b;}
|
112
|
+
|
113
|
+
void applyChangedValues(db::CDBAdapter& db);
|
109
114
|
private:
|
110
115
|
|
111
116
|
CSyncSource* findSource(const CSourceID& oSrcID);
|
@@ -402,7 +402,12 @@ void CSyncNotify::doFireSyncNotification( CSyncSource* src, boolean bFinish, int
|
|
402
402
|
if ( bFinish )
|
403
403
|
{
|
404
404
|
if ( nErrCode == RhoAppAdapter.ERR_NONE )
|
405
|
-
|
405
|
+
{
|
406
|
+
if ( getSync().isSchemaChanged() )
|
407
|
+
strBody += "schema_changed";
|
408
|
+
else
|
409
|
+
strBody += (src == null && strParams.length() == 0) ? "complete" : "ok";
|
410
|
+
}
|
406
411
|
else
|
407
412
|
{
|
408
413
|
if ( getSync().isStoppedByUser() )
|
@@ -11,6 +11,7 @@
|
|
11
11
|
#include "common/RhoAppAdapter.h"
|
12
12
|
#include "json/JSONIterator.h"
|
13
13
|
#include "statistic/RhoProfiler.h"
|
14
|
+
#include "net/URI.h"
|
14
15
|
|
15
16
|
namespace rho {
|
16
17
|
namespace sync {
|
@@ -187,7 +188,7 @@ void CSyncSource::doSyncClientChanges()
|
|
187
188
|
for( i = 0; i < 3 && getSync().isContinueSync(); i++ )
|
188
189
|
{
|
189
190
|
String strBody1;
|
190
|
-
makePushBody_Ver3(strBody1, arUpdateTypes[i]);
|
191
|
+
makePushBody_Ver3(strBody1, arUpdateTypes[i], true);
|
191
192
|
if (strBody1.length() > 0)
|
192
193
|
{
|
193
194
|
strBody += "," + strBody1;
|
@@ -276,7 +277,7 @@ static void escapeDoubleQuotes(String& str)
|
|
276
277
|
//{"source_name":"SampleAdapter","client_id":1,"update":{"1":{"brand":"Apple","name":"iPhone","price":"199.99"}}}
|
277
278
|
//{"source_name":"SampleAdapter","client_id":1,"delete":{"1":{"brand":"Apple","name":"iPhone","price":"199.99"}}}
|
278
279
|
//{"source_name":"SampleAdapter","client_id":1,"delete":{"3":{"brand":"HTC","name":"Fuze","price":"299.99"}},"create":{"1":{"brand":"Apple","name":"iPhone","price":"199.99"}},"update":{"2":{"brand":"Android","name":"G2","price":"99.99"}}}
|
279
|
-
void CSyncSource::makePushBody_Ver3(String& strBody, const String& strUpdateType)
|
280
|
+
void CSyncSource::makePushBody_Ver3(String& strBody, const String& strUpdateType, boolean isSync)
|
280
281
|
{
|
281
282
|
getDB().Lock();
|
282
283
|
DBResult( res , getDB().executeSQL("SELECT attrib, object, value, attrib_type "
|
@@ -310,7 +311,12 @@ void CSyncSource::makePushBody_Ver3(String& strBody, const String& strUpdateType
|
|
310
311
|
}
|
311
312
|
|
312
313
|
if ( strBody.length() == 0 )
|
313
|
-
|
314
|
+
{
|
315
|
+
if ( !isSync )
|
316
|
+
strBody += "{";
|
317
|
+
else
|
318
|
+
strBody += "\"" + strUpdateType + "\":{";
|
319
|
+
}
|
314
320
|
|
315
321
|
if ( strObject.compare(strCurObject) != 0 )
|
316
322
|
{
|
@@ -347,10 +353,39 @@ void CSyncSource::makePushBody_Ver3(String& strBody, const String& strUpdateType
|
|
347
353
|
strBody += "}";
|
348
354
|
}
|
349
355
|
|
350
|
-
|
356
|
+
if ( isSync )
|
357
|
+
getDB().executeSQL("UPDATE changed_values SET sent=1 WHERE source_id=? and update_type=? and sent=0", getID(), strUpdateType.c_str() );
|
358
|
+
|
351
359
|
getDB().Unlock();
|
352
360
|
}
|
353
361
|
|
362
|
+
void CSyncSource::applyChangedValues()
|
363
|
+
{
|
364
|
+
String strBody = "";
|
365
|
+
makePushBody_Ver3(strBody, "create", false);
|
366
|
+
if ( strBody.length() > 0 )
|
367
|
+
{
|
368
|
+
CJSONEntry oEntry(strBody.c_str());
|
369
|
+
processSyncCommand("insert", oEntry );
|
370
|
+
}
|
371
|
+
|
372
|
+
strBody = "";
|
373
|
+
makePushBody_Ver3(strBody, "delete", false);
|
374
|
+
if ( strBody.length() > 0 )
|
375
|
+
{
|
376
|
+
CJSONEntry oEntry(strBody.c_str());
|
377
|
+
processSyncCommand("delete", oEntry );
|
378
|
+
}
|
379
|
+
|
380
|
+
strBody = "";
|
381
|
+
makePushBody_Ver3(strBody, "update", false);
|
382
|
+
if ( strBody.length() > 0 )
|
383
|
+
{
|
384
|
+
CJSONEntry oEntry(strBody.c_str());
|
385
|
+
processSyncCommand("insert", oEntry );
|
386
|
+
}
|
387
|
+
}
|
388
|
+
|
354
389
|
void CSyncSource::syncServerChanges()
|
355
390
|
{
|
356
391
|
LOG(INFO) + "Sync server changes source ID :" + getID();
|
@@ -381,6 +416,7 @@ void CSyncSource::syncServerChanges()
|
|
381
416
|
|
382
417
|
//const char* szData = "[{\"version\":3},{\"token\":\"35639160294387\"},{\"count\":3},{\"progress_count\":0},{\"total_count\":3},{\"metadata\":\"{\\\"foo\\\":\\\"bar\\\"}\",\"insert\":{\"1\":{\"price\":\"199.99\",\"brand\":\"Apple\",\"name\":\"iPhone\"}}}]";
|
383
418
|
|
419
|
+
//LOG(INFO) + szData;
|
384
420
|
PROF_START("Parse");
|
385
421
|
CJSONArrayIterator oJsonArr(szData);
|
386
422
|
PROF_STOP("Parse");
|
@@ -485,26 +521,33 @@ void CSyncSource::processServerResponse_ver3(CJSONArrayIterator& oJsonArr)
|
|
485
521
|
// getDB().startTransaction();
|
486
522
|
// }
|
487
523
|
|
488
|
-
|
489
|
-
if ( oCmds.hasName("metadata") && getSync().isContinueSync() )
|
524
|
+
if ( oCmds.hasName("schema-changed") )
|
490
525
|
{
|
491
|
-
|
492
|
-
|
493
|
-
}
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
526
|
+
getSync().stopSync();
|
527
|
+
getSync().setSchemaChanged(true);
|
528
|
+
}else
|
529
|
+
{
|
530
|
+
getDB().startTransaction();
|
531
|
+
if ( oCmds.hasName("metadata") && getSync().isContinueSync() )
|
532
|
+
{
|
533
|
+
String strMetadata = oCmds.getString("metadata");
|
534
|
+
getDB().executeSQL("UPDATE sources SET metadata=? WHERE source_id=?", strMetadata, getID() );
|
535
|
+
}
|
536
|
+
if ( oCmds.hasName("links") && getSync().isContinueSync() )
|
537
|
+
processSyncCommand("links", oCmds.getEntry("links") );
|
538
|
+
if ( oCmds.hasName("delete") && getSync().isContinueSync() )
|
539
|
+
processSyncCommand("delete", oCmds.getEntry("delete") );
|
540
|
+
if ( oCmds.hasName("insert") && getSync().isContinueSync() )
|
541
|
+
processSyncCommand("insert", oCmds.getEntry("insert") );
|
500
542
|
|
501
|
-
|
543
|
+
PROF_STOP("Data");
|
502
544
|
|
503
|
-
|
504
|
-
|
505
|
-
|
545
|
+
PROF_START("DB");
|
546
|
+
getDB().endTransaction();
|
547
|
+
PROF_STOP("DB");
|
506
548
|
|
507
|
-
|
549
|
+
getNotify().fireObjectsNotification();
|
550
|
+
}
|
508
551
|
}
|
509
552
|
|
510
553
|
PROF_START("Data1");
|
@@ -534,6 +577,9 @@ void CSyncSource::processSyncCommand(const String& strCmd, CJSONEntry oCmdEntry)
|
|
534
577
|
}
|
535
578
|
}
|
536
579
|
|
580
|
+
if ( getSyncType().compare("none") == 0 )
|
581
|
+
continue;
|
582
|
+
|
537
583
|
int nSyncObjectCount = getNotify().incLastSyncObjectCount(getID());
|
538
584
|
if ( getProgressStep() > 0 && (nSyncObjectCount%getProgressStep() == 0) )
|
539
585
|
getNotify().fireSyncNotification(this, false, RhoAppAdapter.ERR_NONE, "");
|
@@ -624,16 +670,21 @@ void CSyncSource::processServerCmd_Ver3_Schema(const String& strCmd, const Strin
|
|
624
670
|
strSqlUpdate += getName() + " SET " + strSet + " WHERE object=?";
|
625
671
|
getDB().executeSQLEx(strSqlUpdate.c_str(), vecValues);
|
626
672
|
|
627
|
-
|
628
|
-
for( int i = 0; i < (int)vecAttrs.size(); i++ )
|
673
|
+
if ( getSyncType().compare("none") != 0 )
|
629
674
|
{
|
630
|
-
|
631
|
-
|
675
|
+
// oo conflicts
|
676
|
+
for( int i = 0; i < (int)vecAttrs.size(); i++ )
|
677
|
+
{
|
678
|
+
getDB().executeSQL("UPDATE changed_values SET sent=4 where object=? and attrib=? and source_id=? and sent>1",
|
679
|
+
strObject, vecAttrs.elementAt(i), getID() );
|
680
|
+
}
|
681
|
+
//
|
632
682
|
}
|
633
|
-
//
|
634
683
|
}
|
635
684
|
|
636
|
-
|
685
|
+
if ( getSyncType().compare("none") != 0 )
|
686
|
+
getNotify().onObjectChanged(getID(),strObject, CSyncNotify::enUpdate);
|
687
|
+
|
637
688
|
m_nInserted++;
|
638
689
|
}else if (strCmd.compare("delete") == 0)
|
639
690
|
{
|
@@ -679,14 +730,17 @@ void CSyncSource::processServerCmd_Ver3_Schema(const String& strCmd, const Strin
|
|
679
730
|
}
|
680
731
|
}
|
681
732
|
|
682
|
-
|
683
|
-
// oo conflicts
|
684
|
-
for( int i = 0; i < (int)vecAttrs.size(); i++ )
|
733
|
+
if ( getSyncType().compare("none") != 0 )
|
685
734
|
{
|
686
|
-
|
687
|
-
|
735
|
+
getNotify().onObjectChanged(getID(), strObject, CSyncNotify::enDelete);
|
736
|
+
// oo conflicts
|
737
|
+
for( int i = 0; i < (int)vecAttrs.size(); i++ )
|
738
|
+
{
|
739
|
+
getDB().executeSQL("UPDATE changed_values SET sent=3 where object=? and attrib=? and source_id=?",
|
740
|
+
strObject, vecAttrs.elementAt(i), getID() );
|
741
|
+
}
|
742
|
+
//
|
688
743
|
}
|
689
|
-
//
|
690
744
|
|
691
745
|
m_nDeleted++;
|
692
746
|
}else if ( strCmd.compare("links") == 0 )
|
@@ -767,21 +821,30 @@ void CSyncSource::processServerCmd_Ver3(const String& strCmd, const String& strO
|
|
767
821
|
SET value=? WHERE object=? and attrib=? and source_id=?",
|
768
822
|
oAttrValue.m_strValue, strObject, oAttrValue.m_strAttrib, getID() );
|
769
823
|
|
770
|
-
|
771
|
-
|
772
|
-
|
773
|
-
|
824
|
+
if ( getSyncType().compare("none") != 0 )
|
825
|
+
{
|
826
|
+
// oo conflicts
|
827
|
+
getDB().executeSQL("UPDATE changed_values SET sent=4 where object=? and attrib=? and source_id=? and sent>1",
|
828
|
+
strObject, oAttrValue.m_strAttrib, getID() );
|
829
|
+
//
|
830
|
+
}
|
774
831
|
}
|
775
832
|
|
776
|
-
|
833
|
+
if ( getSyncType().compare("none") != 0 )
|
834
|
+
getNotify().onObjectChanged(getID(),strObject, CSyncNotify::enUpdate);
|
835
|
+
|
777
836
|
m_nInserted++;
|
778
837
|
}else if (strCmd.compare("delete") == 0)
|
779
838
|
{
|
780
839
|
getDB().executeSQL("DELETE FROM object_values where object=? and attrib=? and source_id=?", strObject, oAttrValue.m_strAttrib, getID() );
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
|
840
|
+
|
841
|
+
if ( getSyncType().compare("none") != 0 )
|
842
|
+
{
|
843
|
+
getNotify().onObjectChanged(getID(), strObject, CSyncNotify::enDelete);
|
844
|
+
// oo conflicts
|
845
|
+
getDB().executeSQL("UPDATE changed_values SET sent=3 where object=? and attrib=? and source_id=?", strObject, oAttrValue.m_strAttrib, getID() );
|
846
|
+
//
|
847
|
+
}
|
785
848
|
|
786
849
|
m_nDeleted++;
|
787
850
|
}else if ( strCmd.compare("links") == 0 )
|
@@ -798,43 +861,36 @@ void CSyncSource::processServerCmd_Ver3(const String& strCmd, const String& strO
|
|
798
861
|
|
799
862
|
String CSyncSource::makeFileName(const CAttrValue& value)//throws Exception
|
800
863
|
{
|
801
|
-
String strExt = "
|
802
|
-
|
803
|
-
|
804
|
-
|
805
|
-
|
806
|
-
|
807
|
-
|
808
|
-
|
809
|
-
|
810
|
-
|
811
|
-
|
812
|
-
|
813
|
-
|
814
|
-
|
815
|
-
|
816
|
-
|
817
|
-
strcpy(szExt,extStart+10);
|
818
|
-
}
|
864
|
+
String strExt = "";
|
865
|
+
|
866
|
+
URI uri(value.m_strValue);
|
867
|
+
String strQuest = uri.getQueryString();
|
868
|
+
|
869
|
+
if (strQuest.length() > 0)
|
870
|
+
{
|
871
|
+
int nExt = strQuest.find("extension=");
|
872
|
+
if ( nExt >= 0 )
|
873
|
+
{
|
874
|
+
int nExtEnd = strQuest.find("&", nExt);
|
875
|
+
if (nExtEnd < 0 )
|
876
|
+
nExtEnd = strQuest.length();
|
877
|
+
|
878
|
+
strExt = strQuest.substr(nExt+10, nExtEnd);
|
879
|
+
}
|
819
880
|
}
|
820
881
|
|
821
|
-
if (
|
822
|
-
|
823
|
-
|
824
|
-
|
825
|
-
|
826
|
-
|
827
|
-
strncpy(szExt,dot,quest-dot);
|
828
|
-
szExt[quest-dot] = 0;
|
829
|
-
}
|
830
|
-
}
|
831
|
-
else
|
832
|
-
strcpy(szExt,dot);
|
833
|
-
}
|
882
|
+
if ( strExt.length() == 0 )
|
883
|
+
{
|
884
|
+
String strFileName = uri.getLastNamePart();
|
885
|
+
int nExt = strFileName.find_last_of('.');
|
886
|
+
if ( nExt >= 0 )
|
887
|
+
strExt = strFileName.substr(nExt);
|
834
888
|
}
|
835
889
|
|
836
|
-
if (
|
837
|
-
strExt =
|
890
|
+
if ( strExt.length() == 0 )
|
891
|
+
strExt = ".bin";
|
892
|
+
else if ( strExt.at(0) != '.' )
|
893
|
+
strExt = "." + strExt;
|
838
894
|
|
839
895
|
String fName = RHODESAPPBASE().getBlobsDirPath() + "/id_" + CLocalTime().toString(true,true) + strExt;
|
840
896
|
|
@@ -101,7 +101,7 @@ public:
|
|
101
101
|
boolean isPendingClientChanges();
|
102
102
|
|
103
103
|
void syncServerChanges();
|
104
|
-
void makePushBody_Ver3(String& strBody, const String& strUpdateType);
|
104
|
+
void makePushBody_Ver3(String& strBody, const String& strUpdateType, boolean isSync);
|
105
105
|
|
106
106
|
void processToken(uint64 token);
|
107
107
|
|
@@ -130,6 +130,8 @@ public:
|
|
130
130
|
void parseAssociations(const String& strAssociations);
|
131
131
|
void processAssociations(const String& strOldObject, const String& strNewObject);
|
132
132
|
void updateAssociation(const String& strOldObject, const String& strNewObject, const String& strAttrib);
|
133
|
+
|
134
|
+
void applyChangedValues();
|
133
135
|
private:
|
134
136
|
CSyncEngine& getSync(){ return m_syncEngine; }
|
135
137
|
CSyncNotify& getNotify();
|
data/platform/wm/rhodes.sln
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
Microsoft Visual Studio Solution File, Format Version 9.00
|
2
2
|
# Visual Studio 2005
|
3
3
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rhodes", "Rhodes\Rhodes.vcproj", "{95D5D2E5-FEF5-4CA9-88CF-FCB0F7465E62}"
|
4
|
+
ProjectSection(WebsiteProperties) = preProject
|
5
|
+
Debug.AspNetCompiler.Debug = "True"
|
6
|
+
Release.AspNetCompiler.Debug = "False"
|
7
|
+
EndProjectSection
|
4
8
|
ProjectSection(ProjectDependencies) = postProject
|
5
9
|
{F196A418-11F1-4067-9F4F-BCC7D70E6EC5} = {F196A418-11F1-4067-9F4F-BCC7D70E6EC5}
|
6
10
|
{AA77BEC0-2A60-4589-A784-7D78F60B35B6} = {AA77BEC0-2A60-4589-A784-7D78F60B35B6}
|
@@ -10,14 +14,34 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rhodes", "Rhodes\Rhodes.vcp
|
|
10
14
|
EndProjectSection
|
11
15
|
EndProject
|
12
16
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rubylib", "rubylib\rubylib.vcproj", "{AA77BEC0-2A60-4589-A784-7D78F60B35B6}"
|
17
|
+
ProjectSection(WebsiteProperties) = preProject
|
18
|
+
Debug.AspNetCompiler.Debug = "True"
|
19
|
+
Release.AspNetCompiler.Debug = "False"
|
20
|
+
EndProjectSection
|
13
21
|
EndProject
|
14
22
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3", "sqlite3\sqlite3.vcproj", "{B381B601-04B1-475B-B635-003F8E7DA3A9}"
|
23
|
+
ProjectSection(WebsiteProperties) = preProject
|
24
|
+
Debug.AspNetCompiler.Debug = "True"
|
25
|
+
Release.AspNetCompiler.Debug = "False"
|
26
|
+
EndProjectSection
|
15
27
|
EndProject
|
16
28
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "syncengine", "syncengine\syncengine.vcproj", "{6F57C60E-C083-4D46-A3B9-E17948A33518}"
|
29
|
+
ProjectSection(WebsiteProperties) = preProject
|
30
|
+
Debug.AspNetCompiler.Debug = "True"
|
31
|
+
Release.AspNetCompiler.Debug = "False"
|
32
|
+
EndProjectSection
|
17
33
|
EndProject
|
18
34
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tcmalloc", "tcmalloc\tcmalloc.vcproj", "{DCD9FEEA-AEB5-4787-AF75-B8D66C1CDC3B}"
|
35
|
+
ProjectSection(WebsiteProperties) = preProject
|
36
|
+
Debug.AspNetCompiler.Debug = "True"
|
37
|
+
Release.AspNetCompiler.Debug = "False"
|
38
|
+
EndProjectSection
|
19
39
|
EndProject
|
20
40
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RhoLib", "RhoLib\RhoLib.vcproj", "{F196A418-11F1-4067-9F4F-BCC7D70E6EC5}"
|
41
|
+
ProjectSection(WebsiteProperties) = preProject
|
42
|
+
Debug.AspNetCompiler.Debug = "True"
|
43
|
+
Release.AspNetCompiler.Debug = "False"
|
44
|
+
EndProjectSection
|
21
45
|
EndProject
|
22
46
|
Global
|
23
47
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
@@ -46,7 +70,9 @@ Global
|
|
46
70
|
{95D5D2E5-FEF5-4CA9-88CF-FCB0F7465E62}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
47
71
|
{95D5D2E5-FEF5-4CA9-88CF-FCB0F7465E62}.Debug|Win32.ActiveCfg = Debug|Win32
|
48
72
|
{95D5D2E5-FEF5-4CA9-88CF-FCB0F7465E62}.Debug|Win32.Build.0 = Debug|Win32
|
49
|
-
{95D5D2E5-FEF5-4CA9-88CF-FCB0F7465E62}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0
|
73
|
+
{95D5D2E5-FEF5-4CA9-88CF-FCB0F7465E62}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
74
|
+
{95D5D2E5-FEF5-4CA9-88CF-FCB0F7465E62}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
75
|
+
{95D5D2E5-FEF5-4CA9-88CF-FCB0F7465E62}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
50
76
|
{95D5D2E5-FEF5-4CA9-88CF-FCB0F7465E62}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
51
77
|
{95D5D2E5-FEF5-4CA9-88CF-FCB0F7465E62}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
52
78
|
{95D5D2E5-FEF5-4CA9-88CF-FCB0F7465E62}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
@@ -63,7 +89,9 @@ Global
|
|
63
89
|
{95D5D2E5-FEF5-4CA9-88CF-FCB0F7465E62}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
64
90
|
{95D5D2E5-FEF5-4CA9-88CF-FCB0F7465E62}.Release|Win32.ActiveCfg = Release|Win32
|
65
91
|
{95D5D2E5-FEF5-4CA9-88CF-FCB0F7465E62}.Release|Win32.Build.0 = Release|Win32
|
66
|
-
{95D5D2E5-FEF5-4CA9-88CF-FCB0F7465E62}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0
|
92
|
+
{95D5D2E5-FEF5-4CA9-88CF-FCB0F7465E62}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
93
|
+
{95D5D2E5-FEF5-4CA9-88CF-FCB0F7465E62}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
94
|
+
{95D5D2E5-FEF5-4CA9-88CF-FCB0F7465E62}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
67
95
|
{95D5D2E5-FEF5-4CA9-88CF-FCB0F7465E62}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
68
96
|
{95D5D2E5-FEF5-4CA9-88CF-FCB0F7465E62}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
69
97
|
{95D5D2E5-FEF5-4CA9-88CF-FCB0F7465E62}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
@@ -86,10 +114,8 @@ Global
|
|
86
114
|
{AA77BEC0-2A60-4589-A784-7D78F60B35B6}.Debug|Win32.Build.0 = Debug|Win32
|
87
115
|
{AA77BEC0-2A60-4589-A784-7D78F60B35B6}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
88
116
|
{AA77BEC0-2A60-4589-A784-7D78F60B35B6}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
89
|
-
{AA77BEC0-2A60-4589-A784-7D78F60B35B6}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
90
117
|
{AA77BEC0-2A60-4589-A784-7D78F60B35B6}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
91
118
|
{AA77BEC0-2A60-4589-A784-7D78F60B35B6}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
92
|
-
{AA77BEC0-2A60-4589-A784-7D78F60B35B6}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
93
119
|
{AA77BEC0-2A60-4589-A784-7D78F60B35B6}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
94
120
|
{AA77BEC0-2A60-4589-A784-7D78F60B35B6}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
95
121
|
{AA77BEC0-2A60-4589-A784-7D78F60B35B6}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
|
@@ -107,10 +133,8 @@ Global
|
|
107
133
|
{AA77BEC0-2A60-4589-A784-7D78F60B35B6}.Release|Win32.Build.0 = Release|Win32
|
108
134
|
{AA77BEC0-2A60-4589-A784-7D78F60B35B6}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
109
135
|
{AA77BEC0-2A60-4589-A784-7D78F60B35B6}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
110
|
-
{AA77BEC0-2A60-4589-A784-7D78F60B35B6}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
111
136
|
{AA77BEC0-2A60-4589-A784-7D78F60B35B6}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
112
137
|
{AA77BEC0-2A60-4589-A784-7D78F60B35B6}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
113
|
-
{AA77BEC0-2A60-4589-A784-7D78F60B35B6}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
114
138
|
{AA77BEC0-2A60-4589-A784-7D78F60B35B6}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
115
139
|
{AA77BEC0-2A60-4589-A784-7D78F60B35B6}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
116
140
|
{AA77BEC0-2A60-4589-A784-7D78F60B35B6}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I)
|
@@ -128,10 +152,8 @@ Global
|
|
128
152
|
{B381B601-04B1-475B-B635-003F8E7DA3A9}.Debug|Win32.Build.0 = Debug|Win32
|
129
153
|
{B381B601-04B1-475B-B635-003F8E7DA3A9}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
130
154
|
{B381B601-04B1-475B-B635-003F8E7DA3A9}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
131
|
-
{B381B601-04B1-475B-B635-003F8E7DA3A9}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
132
155
|
{B381B601-04B1-475B-B635-003F8E7DA3A9}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
133
156
|
{B381B601-04B1-475B-B635-003F8E7DA3A9}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
134
|
-
{B381B601-04B1-475B-B635-003F8E7DA3A9}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
135
157
|
{B381B601-04B1-475B-B635-003F8E7DA3A9}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
136
158
|
{B381B601-04B1-475B-B635-003F8E7DA3A9}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
137
159
|
{B381B601-04B1-475B-B635-003F8E7DA3A9}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
|
@@ -149,10 +171,8 @@ Global
|
|
149
171
|
{B381B601-04B1-475B-B635-003F8E7DA3A9}.Release|Win32.Build.0 = Release|Win32
|
150
172
|
{B381B601-04B1-475B-B635-003F8E7DA3A9}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
151
173
|
{B381B601-04B1-475B-B635-003F8E7DA3A9}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
152
|
-
{B381B601-04B1-475B-B635-003F8E7DA3A9}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
153
174
|
{B381B601-04B1-475B-B635-003F8E7DA3A9}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
154
175
|
{B381B601-04B1-475B-B635-003F8E7DA3A9}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
155
|
-
{B381B601-04B1-475B-B635-003F8E7DA3A9}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
156
176
|
{B381B601-04B1-475B-B635-003F8E7DA3A9}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
157
177
|
{B381B601-04B1-475B-B635-003F8E7DA3A9}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
158
178
|
{B381B601-04B1-475B-B635-003F8E7DA3A9}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I)
|
@@ -170,10 +190,8 @@ Global
|
|
170
190
|
{6F57C60E-C083-4D46-A3B9-E17948A33518}.Debug|Win32.Build.0 = Debug|Win32
|
171
191
|
{6F57C60E-C083-4D46-A3B9-E17948A33518}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
172
192
|
{6F57C60E-C083-4D46-A3B9-E17948A33518}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
173
|
-
{6F57C60E-C083-4D46-A3B9-E17948A33518}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
174
193
|
{6F57C60E-C083-4D46-A3B9-E17948A33518}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
175
194
|
{6F57C60E-C083-4D46-A3B9-E17948A33518}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
176
|
-
{6F57C60E-C083-4D46-A3B9-E17948A33518}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
177
195
|
{6F57C60E-C083-4D46-A3B9-E17948A33518}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
178
196
|
{6F57C60E-C083-4D46-A3B9-E17948A33518}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
179
197
|
{6F57C60E-C083-4D46-A3B9-E17948A33518}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
|
@@ -191,10 +209,8 @@ Global
|
|
191
209
|
{6F57C60E-C083-4D46-A3B9-E17948A33518}.Release|Win32.Build.0 = Release|Win32
|
192
210
|
{6F57C60E-C083-4D46-A3B9-E17948A33518}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
193
211
|
{6F57C60E-C083-4D46-A3B9-E17948A33518}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
194
|
-
{6F57C60E-C083-4D46-A3B9-E17948A33518}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
195
212
|
{6F57C60E-C083-4D46-A3B9-E17948A33518}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
196
213
|
{6F57C60E-C083-4D46-A3B9-E17948A33518}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
197
|
-
{6F57C60E-C083-4D46-A3B9-E17948A33518}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
198
214
|
{6F57C60E-C083-4D46-A3B9-E17948A33518}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
199
215
|
{6F57C60E-C083-4D46-A3B9-E17948A33518}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
200
216
|
{6F57C60E-C083-4D46-A3B9-E17948A33518}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I)
|
@@ -208,10 +224,8 @@ Global
|
|
208
224
|
{DCD9FEEA-AEB5-4787-AF75-B8D66C1CDC3B}.Debug|Win32.Build.0 = Debug|Win32
|
209
225
|
{DCD9FEEA-AEB5-4787-AF75-B8D66C1CDC3B}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
210
226
|
{DCD9FEEA-AEB5-4787-AF75-B8D66C1CDC3B}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
211
|
-
{DCD9FEEA-AEB5-4787-AF75-B8D66C1CDC3B}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
212
227
|
{DCD9FEEA-AEB5-4787-AF75-B8D66C1CDC3B}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
213
228
|
{DCD9FEEA-AEB5-4787-AF75-B8D66C1CDC3B}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
214
|
-
{DCD9FEEA-AEB5-4787-AF75-B8D66C1CDC3B}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
215
229
|
{DCD9FEEA-AEB5-4787-AF75-B8D66C1CDC3B}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
216
230
|
{DCD9FEEA-AEB5-4787-AF75-B8D66C1CDC3B}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
217
231
|
{DCD9FEEA-AEB5-4787-AF75-B8D66C1CDC3B}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
|
@@ -225,10 +239,8 @@ Global
|
|
225
239
|
{DCD9FEEA-AEB5-4787-AF75-B8D66C1CDC3B}.Release|Win32.Build.0 = Release|Win32
|
226
240
|
{DCD9FEEA-AEB5-4787-AF75-B8D66C1CDC3B}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
227
241
|
{DCD9FEEA-AEB5-4787-AF75-B8D66C1CDC3B}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
228
|
-
{DCD9FEEA-AEB5-4787-AF75-B8D66C1CDC3B}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
229
242
|
{DCD9FEEA-AEB5-4787-AF75-B8D66C1CDC3B}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
230
243
|
{DCD9FEEA-AEB5-4787-AF75-B8D66C1CDC3B}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
231
|
-
{DCD9FEEA-AEB5-4787-AF75-B8D66C1CDC3B}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
232
244
|
{DCD9FEEA-AEB5-4787-AF75-B8D66C1CDC3B}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
233
245
|
{DCD9FEEA-AEB5-4787-AF75-B8D66C1CDC3B}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
234
246
|
{DCD9FEEA-AEB5-4787-AF75-B8D66C1CDC3B}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I)
|
@@ -242,10 +254,8 @@ Global
|
|
242
254
|
{F196A418-11F1-4067-9F4F-BCC7D70E6EC5}.Debug|Win32.Build.0 = Debug|Win32
|
243
255
|
{F196A418-11F1-4067-9F4F-BCC7D70E6EC5}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
244
256
|
{F196A418-11F1-4067-9F4F-BCC7D70E6EC5}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
245
|
-
{F196A418-11F1-4067-9F4F-BCC7D70E6EC5}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
246
257
|
{F196A418-11F1-4067-9F4F-BCC7D70E6EC5}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
247
258
|
{F196A418-11F1-4067-9F4F-BCC7D70E6EC5}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
248
|
-
{F196A418-11F1-4067-9F4F-BCC7D70E6EC5}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
249
259
|
{F196A418-11F1-4067-9F4F-BCC7D70E6EC5}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
250
260
|
{F196A418-11F1-4067-9F4F-BCC7D70E6EC5}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
251
261
|
{F196A418-11F1-4067-9F4F-BCC7D70E6EC5}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
|
@@ -259,10 +269,8 @@ Global
|
|
259
269
|
{F196A418-11F1-4067-9F4F-BCC7D70E6EC5}.Release|Win32.Build.0 = Release|Win32
|
260
270
|
{F196A418-11F1-4067-9F4F-BCC7D70E6EC5}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
261
271
|
{F196A418-11F1-4067-9F4F-BCC7D70E6EC5}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
262
|
-
{F196A418-11F1-4067-9F4F-BCC7D70E6EC5}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
263
272
|
{F196A418-11F1-4067-9F4F-BCC7D70E6EC5}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
264
273
|
{F196A418-11F1-4067-9F4F-BCC7D70E6EC5}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
265
|
-
{F196A418-11F1-4067-9F4F-BCC7D70E6EC5}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
266
274
|
{F196A418-11F1-4067-9F4F-BCC7D70E6EC5}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
267
275
|
{F196A418-11F1-4067-9F4F-BCC7D70E6EC5}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
268
276
|
{F196A418-11F1-4067-9F4F-BCC7D70E6EC5}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I)
|