git-svn-id: svn://ultimatepp.org/upp/trunk@5460 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2012-10-24 10:22:39 +00:00
parent 66315fe5e1
commit dbad0042d8
7 changed files with 4 additions and 227 deletions

View file

@ -1,4 +1,3 @@
<<<<<<< .mine
#include <CtrlLib/CtrlLib.h>
using namespace Upp;
@ -25,29 +24,18 @@ void App::Work()
{
int q = 0;
while(!Thread::IsShutdownThreads()) {
if(list.GetCount() > 500) {
#if 0
bool result;
Call(callback1(Ask, &result));
if(result) {
GuiLock __;
Break();
}
#else
if(++q > 200) {
if(PromptYesNo("Do you want to quit?")) {
GuiLock __;
Break();
}
#endif
q = 0;
}
{
for(int i = 0; i < 101; i++) {
GuiLock __;
list.Add((int)Random());
GuiSleep(10);
list.Set(i, 0, (int)Random());
}
Sleep(1);
Sleep(10);
}
}
@ -69,73 +57,3 @@ GUI_APP_MAIN
App app;
app.Run();
}
=======
#include <CtrlLib/CtrlLib.h>
using namespace Upp;
struct App : TopWindow {
Thread work;
void Work();
ArrayCtrl list;
typedef App CLASSNAME;
App();
~App();
};
void Ask(bool *result)
{
*result = PromptYesNo("Do you want to quit?");
}
void App::Work()
{
int q = 0;
while(!Thread::IsShutdownThreads()) {
if(++q > 200) {
#if 0
bool result;
Call(callback1(Ask, &result));
if(result) {
Ctrl::Lock __(*this);
Break();
}
#else
if(PromptYesNo("Do you want to quit?")) {
Ctrl::Lock __(*this);
Break();
}
#endif
q = 0;
}
for(int i = 0; i < 101; i++) {
Ctrl::Lock __(list);
list.Set(i, 0, (int)Random());
}
Sleep(10);
}
}
App::App()
{
list.AddColumn("Test");
Add(list.SizePos());
work.Run(THISBACK(Work));
}
App::~App()
{
Thread::ShutdownThreads();
work.Wait();
}
GUI_APP_MAIN
{
App app;
app.Run();
}
>>>>>>> .r1219

View file

@ -1,40 +0,0 @@
#include <Core/Core.h>
#include <Core/XmlRpc/XmlRpc.h>
using namespace Upp;
namespace Upp {
extern bool HttpRequest_Trace__;
}
void Compute( double a, Upp::String arithmeticOperator, double b );
int main() {
Time serverTime;
SetDateFormat( "%4d-%02d-%02d" );
XmlRpcRequest call( "127.0.0.1:1234" );
if( call("GetServerTime") >> serverTime ) {
LOG( "Server Time = " << serverTime );
}
else {
LOG( Upp::Format("Error: %s", call.GetError()) );
}
Compute( 12, "+", 12 );
Compute( 12, "*", 12 );
Compute( 12, "+56", 12 );
Compute( 12, "/", 0 );
return 0;
}
void Compute( double a, Upp::String arithmeticOperator, double b ) {
double result = 0;
XmlRpcRequest call( "127.0.0.1:1234" );
if( call("Compute", a, arithmeticOperator, b) >> result ) {
LOG( Upp::Format("%f %s %f = %f", a, arithmeticOperator, b, result) );
}
else {
LOG( Upp::Format("Error: %s", call.GetError()) );
}
}

View file

@ -1,10 +0,0 @@
uses
Core,
Core\XmlRpc;
file
XmlRpcClient.cpp;
mainconfig
"" = "SSE2";

View file

@ -1,5 +0,0 @@
#ifndef _XmlRpcClient_icpp_init_stub
#define _XmlRpcClient_icpp_init_stub
#include "Core/init"
#include "Core\XmlRpc/init"
#endif

View file

@ -1,71 +0,0 @@
#include <conio.h>
#include <Core/Core.h>
#include <Core/XMLRpc/XMLRpc.h>
using namespace Upp;
XMLRPC_METHOD( Compute ) {
double a, b;
Upp::String arithmeticOperator;
rpc >> a >> arithmeticOperator >> b;
LOG( Upp::Format("Request: %nf %s %nf", a, arithmeticOperator, b) );
if( arithmeticOperator.GetCount() == 1 ) {
switch( *arithmeticOperator ) {
case '+': {
rpc << a + b;
break;
}
case '-': {
rpc << a - b;
break;
}
case '/': {
if( b == 0 ) {
rpc << Upp::ErrorValue("division by zero");
}
else {
rpc << a / b;
}
break;
}
case '*': {
rpc << a * b;
break;
}
}
}
else {
rpc << Upp::ErrorValue("unknown operator");
}
}
XMLRPC_METHOD( GetServerTime ) {
LOG( "Request: GetServerTime" );
rpc << Upp::GetSysTime();
}
int main() {
TcpSocket rpc;
int port = 1234;
if( !rpc.Listen(port,5) ) {
return false;
}
while( true ) {
if( _kbhit() ) {
if( _getch() == 27 ){
break;
}
}
TcpSocket http;
http.Timeout(1000);
if( http.Accept(rpc) ) {
XmlRpcPerform(http,NULL);
}
}
return 0;
}

View file

@ -1,10 +0,0 @@
uses
Core,
XmlRpc;
file
XmlRpcServer.cpp;
mainconfig
"" = "SSE2";

View file

@ -1,5 +0,0 @@
#ifndef _XmlRpcServer_icpp_init_stub
#define _XmlRpcServer_icpp_init_stub
#include "Core/init"
#include "XmlRpc/init"
#endif