rhodes 2.3.0 → 2.3.1.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +6 -0
- data/Manifest.txt +5819 -0
- data/README.md +2 -2
- data/Rakefile +9 -5
- data/doc/build.txt +7 -13
- data/doc/configuration.txt +4 -0
- data/doc/connect-to-web-services.txt +0 -1
- data/doc/device-caps.txt +2 -2
- data/doc/extensions.txt +2 -0
- data/doc/linea.txt +699 -0
- data/doc/rhom.txt +2 -1
- data/doc/synchronization.txt +39 -2
- data/doc/ui.txt +1 -0
- data/installer/README.html +1 -1
- data/lib/build/jake.rb +3 -0
- data/lib/framework/res/esri.wm.png +0 -0
- data/lib/framework/rho/render.rb +2 -0
- data/lib/framework/rho/rho.rb +17 -10
- data/lib/framework/rho/rhoapplication.rb +13 -3
- data/lib/framework/rho/rhoevent_bb.rb +3 -1
- data/lib/framework/rho/rhoevent_c.rb +4 -1
- data/lib/framework/rhodes.rb +1 -1
- data/lib/framework/rhom/rhom.rb +10 -0
- data/lib/framework/rhom/rhom_object_factory.rb +45 -0
- data/lib/framework/rhom/rhom_source.rb +1 -1
- data/lib/framework/version.rb +1 -1
- data/lib/rhodes.rb +1 -1
- data/platform/android/Rhodes/AndroidManifest.xml +2 -2
- data/platform/android/Rhodes/jni/include/rhodes/RhoClassFactory.h +1 -1
- data/platform/android/Rhodes/jni/src/RhoClassFactory.cpp +1 -1
- data/platform/android/Rhodes/jni/src/callbacks.cpp +9 -11
- data/platform/android/Rhodes/jni/src/event.cpp +17 -9
- data/platform/android/Rhodes/jni/src/mapview.cpp +34 -4
- data/platform/android/Rhodes/jni/src/rhodes.cpp +1 -1
- data/platform/android/Rhodes/res/drawable/esri.png +0 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/AndroidR.java +1 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/BaseActivity.java +3 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +8 -5
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +80 -9
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/EventStore.java +29 -8
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +4 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/TabbedMainView.java +50 -10
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/MapView.java +3 -0
- data/platform/android/build/android.rake +45 -23
- data/platform/android/build/librhocommon_build.files +1 -0
- data/platform/bb/Hsqldb/src/com/rho/db/HsqlDBStorage.java +6 -1
- data/platform/bb/Hsqldb/src/org/hsqldb/CachedDataRow.java +1 -1
- data/platform/bb/Hsqldb/src/org/hsqldb/CachedRow.java +3 -2
- data/platform/bb/Hsqldb/src/org/hsqldb/Row.java +1 -1
- data/platform/bb/Hsqldb/src/org/hsqldb/persist/CachedObject.java +1 -1
- data/platform/bb/Hsqldb/src/org/hsqldb/persist/DataFileCache.java +66 -16
- data/platform/bb/Hsqldb/src/org/hsqldb/persist/HsqlDatabaseProperties.java +1 -1
- data/platform/bb/RubyVM/src/com/rho/RhoCrypto.java +116 -0
- data/platform/bb/RubyVM/src/com/rho/ThreadQueue.java +39 -2
- data/platform/bb/RubyVM/src/com/rho/Tokenizer.java +11 -6
- data/platform/bb/RubyVM/src/com/rho/db/DBAdapter.java +157 -150
- data/platform/bb/RubyVM/src/com/rho/db/IDBStorage.java +1 -1
- data/platform/bb/RubyVM/src/com/rho/file/RhoFile.java +15 -0
- data/platform/bb/RubyVM/src/com/rho/net/AsyncHttp.java +35 -23
- data/platform/bb/RubyVM/src/com/rho/net/NetRequest.java +6 -9
- data/platform/bb/RubyVM/src/com/rho/sync/SyncEngine.java +54 -16
- data/platform/bb/RubyVM/src/com/rho/sync/SyncNotify.java +18 -9
- data/platform/bb/RubyVM/src/com/rho/sync/SyncSource.java +37 -59
- data/platform/bb/RubyVM/src/com/rho/sync/SyncThread.java +3 -0
- data/platform/bb/build/RubyVM_build.files +1 -0
- data/platform/bb/build/bb.rake +4 -5
- data/platform/bb/rhodes/platform/5.0/com/rho/RhodesApplicationPlatform.java +4 -1
- data/platform/bb/rhodes/platform/5.0/com/rho/db/SqliteStorage.java +8 -3
- data/platform/bb/rhodes/resources/esri.png +0 -0
- data/platform/bb/rhodes/src/com/rho/RhodesApplicationPlatform.java +2 -0
- data/platform/bb/rhodes/src/com/rho/db/SqliteStorage.java +8 -3
- data/platform/bb/rhodes/src/com/rho/rubyext/RhoCalendar.java +4 -1
- data/platform/bb/rhodes/src/com/rho/rubyext/System.java +2 -0
- data/platform/bb/rhodes/src/rhomobile/mapview/ESRIMapField.java +9 -0
- data/platform/iphone/Classes/Event/Event.m +12 -2
- data/platform/iphone/Classes/NativeBar.h +12 -11
- data/platform/iphone/Classes/NativeBar.m +13 -3
- data/platform/iphone/Classes/Rhodes.m +48 -10
- data/platform/iphone/Classes/SimpleMainView.h +1 -0
- data/platform/iphone/Classes/SimpleMainView.m +7 -1
- data/platform/iphone/Classes/SplitView/LeftViewController.m +3 -0
- data/platform/iphone/Classes/SplitView/RightViewController.m +11 -6
- data/platform/iphone/Classes/SplitView/SplittedMainView.m +8 -0
- data/platform/iphone/Classes/TabbedMainView.m +39 -3
- data/platform/iphone/Info.plist +1 -1
- data/platform/iphone/RhoLib/RhoLib.xcodeproj/project.pbxproj +4 -0
- data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +3 -3
- data/platform/shared/SyncClient/SyncClient.cpp +23 -23
- data/platform/shared/common/IRhoClassFactory.h +6 -4
- data/platform/shared/common/RhoAppAdapter.h +1 -1
- data/platform/shared/common/RhoFile.cpp +10 -0
- data/platform/shared/common/RhoFile.h +1 -0
- data/platform/shared/common/RhoMutexLock.h +1 -1
- data/platform/shared/common/RhoStd.h +5 -0
- data/platform/shared/common/RhoThread.cpp +2 -2
- data/platform/shared/common/RhoThread.h +1 -2
- data/platform/shared/common/RhodesApp.cpp +33 -55
- data/platform/shared/common/RhodesApp.h +0 -5
- data/platform/shared/common/RhodesAppBase.cpp +1 -1
- data/platform/shared/common/SplashScreen.cpp +1 -2
- data/platform/shared/common/ThreadQueue.cpp +31 -4
- data/platform/shared/common/ThreadQueue.h +10 -3
- data/platform/shared/common/Tokenizer.cpp +12 -8
- data/platform/shared/common/iphone/RhoClassFactory.cpp +5 -8
- data/platform/shared/common/iphone/RhoClassfactory.h +1 -1
- data/platform/shared/common/map/ESRIMapEngine.cpp +17 -7
- data/platform/shared/common/map/ESRIMapEngine.h +11 -1
- data/platform/shared/common/map/GoogleMapEngine.cpp +3 -3
- data/platform/shared/common/map/GoogleMapEngine.h +2 -2
- data/platform/shared/common/map/MapEngine.cpp +37 -0
- data/platform/shared/common/map/MapEngine.h +5 -0
- data/platform/shared/db/DBAdapter.cpp +113 -81
- data/platform/shared/db/DBAdapter.h +21 -5
- data/platform/shared/db/DBAttrManager.cpp +2 -2
- data/platform/shared/db/DBResult.h +28 -0
- data/platform/shared/net/AsyncHttp.cpp +48 -48
- data/platform/shared/net/AsyncHttp.h +15 -12
- data/platform/shared/net/CURLNetRequest.cpp +27 -105
- data/platform/shared/net/CURLNetRequest.h +8 -15
- data/platform/shared/net/INetRequest.cpp +122 -0
- data/platform/shared/net/INetRequest.h +96 -23
- data/platform/shared/net/ssl.cpp +1 -1
- data/platform/shared/ruby/ext/calendar/calendar.i +2 -2
- data/platform/shared/ruby/ext/calendar/calendar_wrap.c +30 -3
- data/platform/shared/rubyext/GeoLocation.cpp +4 -5
- data/platform/shared/rubyext/GeoLocation.h +4 -4
- data/platform/shared/rubyext/RhoAppAdapter.cpp +1 -1
- data/platform/shared/rubyext/System.cpp +3 -0
- data/platform/shared/sync/ClientRegister.cpp +6 -9
- data/platform/shared/sync/ClientRegister.h +8 -6
- data/platform/shared/sync/SyncEngine.cpp +54 -30
- data/platform/shared/sync/SyncEngine.h +9 -11
- data/platform/shared/sync/SyncNotify.cpp +19 -14
- data/platform/shared/sync/SyncNotify.h +5 -12
- data/platform/shared/sync/SyncSource.cpp +53 -76
- data/platform/shared/sync/SyncSource.h +5 -4
- data/platform/shared/sync/SyncThread.cpp +5 -7
- data/platform/shared/sync/SyncThread.h +2 -2
- data/platform/wm/RhoLib/RhoLib.vcproj +43 -39
- data/platform/wm/build/wm.rake +19 -17
- data/platform/wm/rhodes/AppManager.cpp +4 -4
- data/platform/wm/rhodes/MainWindow.cpp +0 -1
- data/platform/wm/rhodes/MapView/MapViewManager.cpp +4 -0
- data/platform/wm/rhodes/Vibrate.cpp +2 -2
- data/platform/wm/rhodes/Vibrate.h +1 -1
- data/platform/wm/rhodes/rho/common/RhoClassFactory.cpp +7 -5
- data/platform/wm/rhodes/rho/common/RhoClassFactory.h +3 -3
- data/platform/wm/rhodes/rho/net/NetRequestImpl.cpp +24 -10
- data/platform/wm/rhodes/rho/net/NetRequestImpl.h +49 -25
- data/platform/wm/rhodes/rho/rubyext/calendar.cpp +16 -2
- data/platform/wm/rhodes/rhodes.vcproj +77 -85
- data/platform/wm/tools/detool/detool.cpp +16 -6
- data/rakefile.rb +9 -5
- data/res/build-tools/detool.exe +0 -0
- data/rhodes.gemspec +2 -2
- data/spec/phone_spec/app/spec/blobsync_spec.rb +1 -0
- data/spec/phone_spec/app/spec/events_spec.rb +13 -2
- data/spec/phone_spec/app/spec/mapview_spec.rb +2 -2
- data/spec/phone_spec/app/spec/nativebar_spec.rb +3 -3
- data/spec/phone_spec/app/spec/navbar_spec.rb +3 -3
- data/spec/phone_spec/app/spec/rho_spec.rb +1 -1
- data/spec/phone_spec/app/spec/rhom_object_spec.rb +1 -1
- data/spec/phone_spec/app/spec/syncengine_spec.rb +219 -0
- data/spec/phone_spec/build.yml +1 -0
- metadata +15 -8
- data/platform/wm/rhodes/rho/net/NetRequest.cpp +0 -89
- data/platform/wm/rhodes/rho/net/NetRequest.h +0 -45
@@ -3,7 +3,7 @@
|
|
3
3
|
#include "AppManager.h"
|
4
4
|
|
5
5
|
#ifdef ENABLE_DYNAMIC_RHOBUNDLE
|
6
|
-
#include "
|
6
|
+
#include "net/INetRequest.h"
|
7
7
|
|
8
8
|
#include "common/RhodesApp.h"
|
9
9
|
|
@@ -107,10 +107,10 @@ void CAppManager::ReloadRhoBundle(HWND hwnd, const char* szUrl, const char* szZi
|
|
107
107
|
}
|
108
108
|
|
109
109
|
//trying to load file
|
110
|
-
rho::net::CNetRequest request;
|
111
110
|
//NB: for mobile devices should use filesystem instead of RAM
|
112
|
-
NetResponse
|
113
|
-
if (resp.getDataSize() > 0 && resp.getCharData())
|
111
|
+
NetResponse resp = getNetRequest().pullData(szUrl, null);
|
112
|
+
if (resp.getDataSize() > 0 && resp.getCharData())
|
113
|
+
{
|
114
114
|
loadData = resp.getCharData();
|
115
115
|
loadSize = resp.getDataSize();
|
116
116
|
errCode = RRB_NONE_ERR;
|
@@ -133,6 +133,10 @@ LRESULT CRhoMapViewDlg::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*
|
|
133
133
|
IDrawingImage* pinCalloutLinkImg = ourDrawingDevice.createImage(fullImagePath, true);
|
134
134
|
ourMapView->setPinCalloutLinkImage(pinCalloutLinkImg, pin_callout_info);
|
135
135
|
|
136
|
+
strImagePath = "lib/res/esri.png";
|
137
|
+
fullImagePath = CFilePath::join( RHODESAPP().getRhoRootPath(), strImagePath);
|
138
|
+
IDrawingImage* esriLogoImg = ourDrawingDevice.createImage(fullImagePath, true);
|
139
|
+
ourMapView->setESRILogoImage(esriLogoImg);
|
136
140
|
}
|
137
141
|
|
138
142
|
#else
|
@@ -10,7 +10,7 @@ IMPLEMENT_LOGCLASS(CVibrate, "Vibrate");
|
|
10
10
|
CVibrate *CVibrate::m_pInstance = NULL;
|
11
11
|
CMutex CVibrate::m_mxLocker;
|
12
12
|
|
13
|
-
CVibrate::CVibrate (
|
13
|
+
CVibrate::CVibrate () : CRhoThread(), m_nDuration(2), m_bToggled(false)
|
14
14
|
{
|
15
15
|
}
|
16
16
|
|
@@ -21,7 +21,7 @@ CVibrate::~CVibrate ()
|
|
21
21
|
|
22
22
|
void CVibrate::createCVibrate()
|
23
23
|
{
|
24
|
-
static CVibrate instance
|
24
|
+
static CVibrate instance;
|
25
25
|
m_pInstance = &instance;
|
26
26
|
}
|
27
27
|
|
@@ -5,13 +5,15 @@
|
|
5
5
|
#include "sync/ClientRegister.h"
|
6
6
|
#include "RhoCryptImpl.h"
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
IRhoClassFactory* rho_impl_createClassFactory()
|
8
|
+
static rho::common::CRhoClassFactory g_oRhoClassFactory;
|
9
|
+
rho::common::IRhoClassFactory* rho_get_RhoClassFactory()
|
11
10
|
{
|
12
|
-
return
|
11
|
+
return &g_oRhoClassFactory;
|
13
12
|
}
|
14
13
|
|
14
|
+
namespace rho{
|
15
|
+
namespace common{
|
16
|
+
|
15
17
|
IRhoCrypt* CRhoClassFactory::createRhoCrypt()
|
16
18
|
{
|
17
19
|
return new CRhoCryptImpl();
|
@@ -23,7 +25,7 @@ IRhoCrypt* CRhoClassFactory::createRhoCrypt()
|
|
23
25
|
extern "C" {
|
24
26
|
void rho_clientregister_create(const char* szDevicePin)
|
25
27
|
{
|
26
|
-
rho::sync::CClientRegister::Create(
|
28
|
+
rho::sync::CClientRegister::Create(szDevicePin);
|
27
29
|
}
|
28
30
|
|
29
31
|
void rho_clientregister_destroy()
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#pragma once
|
2
2
|
|
3
3
|
#include "common/IRhoClassFactory.h"
|
4
|
-
#include "../net/
|
4
|
+
#include "../net/NetRequestImpl.h"
|
5
5
|
#include "RhoThreadImpl.h"
|
6
6
|
|
7
7
|
namespace rho {
|
@@ -11,9 +11,9 @@ class CRhoClassFactory : public IRhoClassFactory
|
|
11
11
|
{
|
12
12
|
public:
|
13
13
|
virtual ~CRhoClassFactory(void){}
|
14
|
-
net::
|
14
|
+
virtual net::INetRequestImpl* createNetRequestImpl()
|
15
15
|
{
|
16
|
-
return new net::
|
16
|
+
return new net::CNetRequestImpl();
|
17
17
|
}
|
18
18
|
|
19
19
|
virtual IRhoThreadImpl* createThreadImpl()
|
@@ -3,7 +3,6 @@
|
|
3
3
|
#include "NetRequestImpl.h"
|
4
4
|
#include "common/RhoFile.h"
|
5
5
|
#include "common/RhoFilePath.h"
|
6
|
-
#include "NetRequest.h"
|
7
6
|
#include "common/StringConverter.h"
|
8
7
|
#include "net/URI.h"
|
9
8
|
#include "common/RhoConf.h"
|
@@ -23,15 +22,25 @@ common::CMutex CNetRequestImpl::m_mxInternet;
|
|
23
22
|
HINTERNET CNetRequestImpl::m_hInternet;
|
24
23
|
HANDLE CNetRequestImpl::m_hWceConnMgrConnection;
|
25
24
|
|
26
|
-
CNetRequestImpl::CNetRequestImpl(
|
27
|
-
|
25
|
+
CNetRequestImpl::CNetRequestImpl()
|
26
|
+
{
|
27
|
+
m_hConnection = 0;
|
28
|
+
m_hRequest = 0;
|
29
|
+
|
30
|
+
m_pszErrFunction = 0;
|
31
|
+
|
32
|
+
memset(&m_uri, 0, sizeof(m_uri) );
|
33
|
+
m_pHeaders = 0;
|
34
|
+
m_bCancel = false;
|
35
|
+
m_pSession = 0;
|
36
|
+
m_sslVerifyPeer = true;
|
37
|
+
}
|
38
|
+
|
39
|
+
void CNetRequestImpl::init(const char* method, const String& strUrl, IRhoSession* oSession, Hashtable<String,String>* pHeaders)
|
28
40
|
{
|
29
|
-
m_pParent = pParent;
|
30
|
-
m_pParent->m_pCurNetRequestImpl = this;
|
31
41
|
m_pHeaders = pHeaders;
|
32
42
|
m_bCancel = false;
|
33
43
|
m_pSession = oSession;
|
34
|
-
m_sslVerifyPeer = sslVerifyPeer;
|
35
44
|
|
36
45
|
m_pszErrFunction = NULL;
|
37
46
|
m_hConnection = NULL;
|
@@ -166,8 +175,10 @@ String CNetRequestImpl::getBodyContentType()
|
|
166
175
|
return "application/x-www-form-urlencoded";
|
167
176
|
}
|
168
177
|
|
169
|
-
|
178
|
+
INetResponse* CNetRequestImpl::doRequest( const char* method, const String& strUrl, const String& strBody, IRhoSession* oSession, Hashtable<String,String>* pHeaders )
|
170
179
|
{
|
180
|
+
init( method, strUrl, oSession, pHeaders );
|
181
|
+
|
171
182
|
CNetResponseImpl* pNetResp = new CNetResponseImpl;
|
172
183
|
|
173
184
|
do
|
@@ -362,8 +373,10 @@ void CNetRequestImpl::readResponse(CNetResponseImpl* pNetResp)
|
|
362
373
|
pNetResp->setCookies(makeClientCookie());
|
363
374
|
}
|
364
375
|
|
365
|
-
|
376
|
+
INetResponse* CNetRequestImpl::pullFile(const String& strUrl, common::CRhoFile& oFile, IRhoSession* oSession, Hashtable<String,String>* pHeaders)
|
366
377
|
{
|
378
|
+
init("GET", strUrl, oSession, pHeaders);
|
379
|
+
|
367
380
|
CNetResponseImpl* pNetResp = new CNetResponseImpl;
|
368
381
|
const int nDownloadBufferSize = 1024*100;
|
369
382
|
char* pDownloadBuffer = 0;
|
@@ -495,8 +508,10 @@ int CNetRequestImpl::processMultipartItems( VectorPtr<CMultipartItem*>& arItems
|
|
495
508
|
return nSize;
|
496
509
|
}
|
497
510
|
|
498
|
-
|
511
|
+
INetResponse* CNetRequestImpl::pushMultipartData(const String& strUrl, VectorPtr<CMultipartItem*>& arItems, IRhoSession* oSession, Hashtable<String,String>* pHeaders)
|
499
512
|
{
|
513
|
+
init("POST", strUrl, oSession, pHeaders );
|
514
|
+
|
500
515
|
CNetResponseImpl* pNetResp = new CNetResponseImpl;
|
501
516
|
|
502
517
|
do
|
@@ -669,7 +684,6 @@ void CNetRequestImpl::close()
|
|
669
684
|
CNetRequestImpl::~CNetRequestImpl()
|
670
685
|
{
|
671
686
|
close();
|
672
|
-
m_pParent->m_pCurNetRequestImpl = null;
|
673
687
|
}
|
674
688
|
|
675
689
|
void CNetRequestImpl::readInetFile( HINTERNET hRequest, CNetResponseImpl* pNetResp, common::CRhoFile* pFile /*=NULL*/,
|
@@ -20,25 +20,52 @@ class CNetResponseImpl : public INetResponse
|
|
20
20
|
public:
|
21
21
|
CNetResponseImpl() : m_bValid(false),m_nRespCode(-1){}
|
22
22
|
|
23
|
-
bool isValid()const{ return m_bValid; }
|
24
|
-
void setValid(bool b){ m_bValid = b; }
|
25
|
-
|
26
23
|
virtual const char* getCharData()
|
27
24
|
{
|
28
25
|
return m_bValid ? m_data.c_str() : "";
|
29
26
|
}
|
30
27
|
|
28
|
+
virtual void setCharData(const char* szData)
|
29
|
+
{
|
30
|
+
m_bValid = true;
|
31
|
+
m_data = szData;
|
32
|
+
}
|
33
|
+
|
31
34
|
virtual unsigned int getDataSize()
|
32
35
|
{
|
33
36
|
return m_bValid ? m_data.size() : 0;
|
34
37
|
}
|
35
38
|
|
39
|
+
virtual String getCookies()
|
40
|
+
{
|
41
|
+
return m_cookies;
|
42
|
+
}
|
43
|
+
virtual int getRespCode(){ return m_nRespCode;}
|
44
|
+
|
45
|
+
bool isValid()const{ return m_bValid; }
|
46
|
+
void setValid(bool b){ m_bValid = b; }
|
47
|
+
|
36
48
|
String& getRawData(){ return m_data; }
|
37
49
|
|
38
|
-
|
50
|
+
void setCookies(String s)
|
51
|
+
{
|
52
|
+
m_cookies = s;
|
53
|
+
}
|
54
|
+
|
39
55
|
void setResponseCode(int nRespCode){ m_nRespCode = nRespCode;}
|
40
56
|
|
41
|
-
|
57
|
+
boolean isSuccess()
|
58
|
+
{
|
59
|
+
return m_nRespCode > 0 && m_nRespCode < 400;
|
60
|
+
}
|
61
|
+
|
62
|
+
boolean isOK()
|
63
|
+
{
|
64
|
+
return m_nRespCode == 200 || m_nRespCode == 206;
|
65
|
+
}
|
66
|
+
|
67
|
+
/*
|
68
|
+
boolean isResponseRecieved(){ return m_nRespCode!=-1;}
|
42
69
|
|
43
70
|
boolean isOK()
|
44
71
|
{
|
@@ -59,20 +86,11 @@ public:
|
|
59
86
|
{
|
60
87
|
return m_nRespCode > 0 && m_nRespCode < 400;
|
61
88
|
}
|
62
|
-
|
63
|
-
void setCookies(String s)
|
64
|
-
{
|
65
|
-
m_cookies = s;
|
66
|
-
}
|
67
|
-
|
68
|
-
String getCookies()
|
69
|
-
{
|
70
|
-
return m_cookies;
|
71
|
-
}
|
89
|
+
*/
|
72
90
|
};
|
73
91
|
|
74
92
|
class CNetRequest;
|
75
|
-
class CNetRequestImpl
|
93
|
+
class CNetRequestImpl : public INetRequestImpl
|
76
94
|
{
|
77
95
|
DEFINE_LOGCLASS;
|
78
96
|
|
@@ -86,28 +104,34 @@ class CNetRequestImpl
|
|
86
104
|
URL_COMPONENTS m_uri;
|
87
105
|
CAtlStringW m_strReqUrlW;
|
88
106
|
String m_strUrl;
|
89
|
-
CNetRequest* m_pParent;
|
90
107
|
Hashtable<String,String>* m_pHeaders;
|
91
108
|
boolean m_bCancel;
|
92
109
|
IRhoSession* m_pSession;
|
93
110
|
boolean m_sslVerifyPeer;
|
94
111
|
|
95
112
|
public :
|
96
|
-
CNetRequestImpl(
|
97
|
-
IRhoSession* oSession, Hashtable<String,String>* pHeaders, boolean sslVerifyPeer);
|
113
|
+
CNetRequestImpl();
|
98
114
|
~CNetRequestImpl();
|
99
115
|
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
116
|
+
virtual INetResponse* doRequest( const char* method, const String& strUrl, const String& strBody, IRhoSession* oSession, Hashtable<String,String>* pHeaders );
|
117
|
+
virtual INetResponse* pullFile(const String& strUrl, common::CRhoFile& oFile, IRhoSession* oSession, Hashtable<String,String>* pHeaders);
|
118
|
+
virtual INetResponse* pushMultipartData(const String& strUrl, VectorPtr<CMultipartItem*>& arItems, IRhoSession* oSession, Hashtable<String,String>* pHeaders);
|
119
|
+
|
120
|
+
virtual void cancel();
|
104
121
|
|
105
|
-
|
122
|
+
virtual boolean getSslVerifyPeer() { return m_sslVerifyPeer; }
|
123
|
+
virtual void setSslVerifyPeer(boolean mode){ m_sslVerifyPeer = mode; }
|
106
124
|
|
107
|
-
|
125
|
+
virtual INetResponse* createEmptyNetResponse(){ return new CNetResponseImpl(); }
|
108
126
|
|
109
127
|
static void deinitConnection();
|
128
|
+
|
110
129
|
private:
|
130
|
+
void close();
|
131
|
+
bool isError(){ return m_pszErrFunction!= null; }
|
132
|
+
|
133
|
+
void init( const char* method, const String& strUrl, IRhoSession* oSession, Hashtable<String,String>* pHeaders);
|
134
|
+
|
111
135
|
String makeClientCookie();
|
112
136
|
|
113
137
|
void ErrorMessage(LPCTSTR pszFunction);
|
@@ -430,7 +430,9 @@ extern "C" VALUE event_fetch_by_id(const char *eid)
|
|
430
430
|
return rho_ruby_get_NIL();
|
431
431
|
}
|
432
432
|
|
433
|
-
|
433
|
+
static rho::String return_string_value;
|
434
|
+
|
435
|
+
extern "C" const char* event_save(VALUE rEvent)
|
434
436
|
{
|
435
437
|
calendar_check();
|
436
438
|
IPOutlookApp * polApp = COutlookApp::getInstance()->getApp();
|
@@ -447,7 +449,18 @@ extern "C" void event_save(VALUE rEvent)
|
|
447
449
|
eventFromRuby(rEvent, pEvent);
|
448
450
|
|
449
451
|
CHECK(pEvent->Save());
|
452
|
+
|
453
|
+
if (pEvent != NULL) {
|
454
|
+
long lOid = 0;
|
455
|
+
if ( SUCCEEDED(pEvent->get_Oid(&lOid)) ) {
|
456
|
+
return_string_value = convertToStringA(lOid);
|
457
|
+
const char* rrr = return_string_value.c_str();
|
458
|
+
return rrr;
|
459
|
+
}
|
460
|
+
}
|
461
|
+
|
450
462
|
END_CHECK
|
463
|
+
return NULL;
|
451
464
|
}
|
452
465
|
|
453
466
|
extern "C" void event_delete(const char *eid)
|
@@ -476,8 +489,9 @@ extern "C" VALUE event_fetch_by_id(const char *eid)
|
|
476
489
|
return rho_ruby_get_NIL();
|
477
490
|
}
|
478
491
|
|
479
|
-
extern "C"
|
492
|
+
extern "C" const char* event_save(VALUE rEvent)
|
480
493
|
{
|
494
|
+
return NULL;
|
481
495
|
}
|
482
496
|
|
483
497
|
extern "C" void event_delete(const char *eid)
|