git-svn-id: svn://db.shs.com.ru/libs@491 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -36,22 +36,27 @@ const uchar header_transfer = 0x81;
|
||||
|
||||
__Core_Initializer__::__Core_Initializer__() {
|
||||
count_++;
|
||||
//piCout << "try create Core" << count_;
|
||||
piCout << "try create Core" << count_;
|
||||
if (count_ > 1) return;
|
||||
//piCout << "create Core";
|
||||
piCout << "create Core";
|
||||
__instance__ = new CDCore();
|
||||
}
|
||||
|
||||
|
||||
__Core_Initializer__::~__Core_Initializer__() {
|
||||
count_--;
|
||||
//piCout << "try delete Core" << count_;
|
||||
piCout << "try delete Core" << count_;
|
||||
if (count_ < 0) {
|
||||
count_ = 0;
|
||||
return;
|
||||
}
|
||||
if (count_ > 0) return;
|
||||
//piCout << "delete Core";
|
||||
if (__instance__ != 0) {
|
||||
piCout << "delete Core ...";
|
||||
if (__instance__) {
|
||||
delete __instance__;
|
||||
__instance__ = 0;
|
||||
}
|
||||
piCout << "delete Core ok";
|
||||
}
|
||||
|
||||
|
||||
@@ -59,9 +64,7 @@ __Core_Initializer__::~__Core_Initializer__() {
|
||||
|
||||
CDCore::CDCore() {
|
||||
setName("CDCore");
|
||||
sendt.setName("CDCore_send_thread");
|
||||
datatr.setName("CDCore_datatransfer");
|
||||
x_timer.setName("CDCore_X_timer");
|
||||
x_timer.setName("__S__.CDCore.x_timer");
|
||||
datatr.setPacketSize(960);
|
||||
CONNECTU(&connection, dataReceivedEvent, this, dataReceived);
|
||||
CONNECTU(PICout::Notifier::object(), finished, this, piCoutFinished);
|
||||
@@ -78,9 +81,9 @@ CDCore::CDCore() {
|
||||
initRoot(&c_);
|
||||
initRoot(&m_);
|
||||
|
||||
CONNECTU(&sendt, started, this, sendThread)
|
||||
CONNECTU(&datatr, sendRequest, this, dtSendRequest)
|
||||
CONNECTU(&datatr, receiveFinished, this, dtReceiveFinished)
|
||||
CONNECTU(&sendt, started, this, sendThread)
|
||||
CONNECTU(&x_timer, tickEvent, this, xTimerTick)
|
||||
|
||||
/*k_[1] = KType(1, "123", "120+3", "comment");
|
||||
@@ -96,16 +99,17 @@ CDCore::CDCore() {
|
||||
|
||||
|
||||
CDCore::~CDCore() {
|
||||
piCout << "~CDCore";
|
||||
piCout << "~CDCore ...";
|
||||
x_timer.stop(false);
|
||||
piCout << "~CDCore 1";
|
||||
datatr.stop();
|
||||
piCout << "~datatr.stop()";
|
||||
x_timer.stop();
|
||||
piCout << "~x_timer.stop()";
|
||||
sendt.stop(true);
|
||||
piCout << "~sendt.stop()";
|
||||
// sendt.waitForFinish(10);
|
||||
piCout << "~CDCore 2";
|
||||
sendt.stop();
|
||||
piCout << "~CDCore 3";
|
||||
sendt.waitForFinish(10);
|
||||
piCout << "~CDCore 4";
|
||||
connection.stop();
|
||||
piCout << "~connection.stop()";
|
||||
piCout << "~CDCore ok";
|
||||
}
|
||||
|
||||
|
||||
@@ -305,6 +309,17 @@ CDCore * CDCore::instance() {
|
||||
}
|
||||
|
||||
|
||||
bool CDCore::destroy() {
|
||||
if (!__Core_Initializer__::__instance__) return false;
|
||||
piCout << "delete Core ...";
|
||||
delete __Core_Initializer__::__instance__;
|
||||
piCout << "delete Core ok";
|
||||
__Core_Initializer__::__instance__ = 0;
|
||||
__Core_Initializer__::count_ = 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void CDUtils::CDCore::K_DirectChange(PIDeque<int> path, PIString value) {
|
||||
piCoutObj << "K_DirectChange";
|
||||
PacketKDirectChange p;
|
||||
|
||||
@@ -30,6 +30,7 @@ class CDCore: public PIObject
|
||||
friend class XInterface;
|
||||
public:
|
||||
static CDCore * instance();
|
||||
static bool destroy();
|
||||
|
||||
EVENT(K_Sended)
|
||||
EVENT(K_SendFail)
|
||||
|
||||
@@ -87,120 +87,11 @@ private:
|
||||
};
|
||||
|
||||
|
||||
#include "piscreen.h"
|
||||
#include "piscreentiles.h"
|
||||
PIScreen screen(false);
|
||||
int main(int argc, char *argv[]) {
|
||||
// PIString s;
|
||||
// s = "df a)))(a(ttt){a(b(c)})d)e( d dws ) sds(()fads(fdas()))fda))))fdasf((((jhvw";
|
||||
// piCout << s;
|
||||
// piCout << s.inBrackets('(', ')');
|
||||
// piCout << s.cutLeft(s.find('(')).takeRange('(', ')');
|
||||
// piCout << s;
|
||||
// piCout << "exit";
|
||||
// s = "test";
|
||||
// PIByteArray ba = s.toByteArray();
|
||||
// piCout << PIString(ba);
|
||||
// piCout << PIString(ba.toHex());
|
||||
// piCout << PIString(ba.fromHex(PIString(ba.toHex())));
|
||||
// PIByteArray ba = s.toByteArray();
|
||||
// piCout << PIString(ba);
|
||||
// piCout << PIString(ba.convertToBase64());
|
||||
// piCout << PIString(ba.convertFromBase64());
|
||||
// s = "dGVzdA==";
|
||||
// ba = s.toByteArray();
|
||||
// piCout << PIString(ba);
|
||||
// piCout << PIString(ba.convertFromBase64());
|
||||
// return 0;
|
||||
// int i = 0;
|
||||
// piCout << i++ << "!" << s << "!";
|
||||
// piCout << i << "!" << s.trimmed() << "!";
|
||||
// piCout << i << "!" << s.trim() << "!";
|
||||
// s = "";
|
||||
// piCout << i++ << "!" << s << "!";
|
||||
// piCout << i << "!" << s.trimmed() << "!";
|
||||
// piCout << i << "!" << s.trim() << "!";
|
||||
// s = " ";
|
||||
// piCout << i++ << "!" << s << "!";
|
||||
// piCout << i << "!" << s.trimmed() << "!";
|
||||
// piCout << i << "!" << s.trim() << "!";
|
||||
// s = " ";
|
||||
// piCout << i++ << "!" << s << "!";
|
||||
// piCout << i << "!" << s.trimmed() << "!";
|
||||
// piCout << i << "!" << s.trim() << "!";
|
||||
// s = " s ";
|
||||
// piCout << i++ << "!" << s << "!";
|
||||
// piCout << i << "!" << s.trimmed() << "!";
|
||||
// piCout << i << "!" << s.trim() << "!";
|
||||
// s = "f s ";
|
||||
// piCout << i++ << "!" << s << "!";
|
||||
// piCout << i << "!" << s.trimmed() << "!";
|
||||
// piCout << i << "!" << s.trim() << "!";
|
||||
// s = " kjdfsnfv;kjsfd ";
|
||||
// piCout << i++ << "!" << s << "!";
|
||||
// piCout << i << "!" << s.trimmed() << "!";
|
||||
// piCout << i << "!" << s.trim() << "!";
|
||||
// return 0;
|
||||
// PIEthernet eth;
|
||||
// eth.send("127.0.0.1:16102", PIByteArray("data\n", 5));
|
||||
// eth.send("127.0.0.1:26102", PIByteArray("data\n", 5));
|
||||
// eth.send("127.0.0.1:36102", PIByteArray("data\n", 5));
|
||||
/*PIString s; = "[k]\n\
|
||||
1.f = 120+3 #s comment\n\
|
||||
1.v = 123\n\
|
||||
2.f = 2 #s comm\n\
|
||||
2.v = 1\n\
|
||||
4.f = -6/10 #s mment\n\
|
||||
4.v = -0.6\n\
|
||||
[s.10.k]\n\
|
||||
5.f = 2*2*2\n\
|
||||
5.v = 8 #s 88\n\
|
||||
[s.10.s.50.k]\n\
|
||||
100.f = 2*2*2\n\
|
||||
100.v = 8 #s 88\n\
|
||||
[s.11.k]\n\
|
||||
3.f = 1\n\
|
||||
3.v = 1 #s 88 \n\
|
||||
4.f = 0\n\
|
||||
4.v = 0 #s 88 \n\
|
||||
6.f = 0\n\
|
||||
6.v = 0 #s 881 \n\
|
||||
[]\n";
|
||||
PIIOString ios(&s);
|
||||
CDUtils::K.read(&ios);
|
||||
|
||||
s.clear();
|
||||
PIIOString iosw(&s);
|
||||
CDUtils::K.write(&iosw);
|
||||
piCout << s;*/
|
||||
// piCout << K.count();
|
||||
// PIFile rf("1.txt", PIIODevice::ReadWrite);
|
||||
// K.read(&rf);
|
||||
|
||||
// PIFile f;
|
||||
// f.open("SH_base.h", PIIODevice::ReadOnly);
|
||||
// CDUtils::K.update(&f);
|
||||
|
||||
// PIFile wf("2.txt", PIIODevice::ReadWrite);
|
||||
// CDUtils::K.write(&wf);
|
||||
//PIIOString iosw(&s);
|
||||
//piCout << s;
|
||||
//piMSleep(1000);
|
||||
//CDUtils::Core::instance()->test();
|
||||
//return 0;
|
||||
// piCout << "init";
|
||||
screen.rootTile()->addTile(new TilePICout());
|
||||
screen.enableExitCapture('q');
|
||||
// piMSleep(3000);
|
||||
screen.start();
|
||||
piCout << "start";
|
||||
Core core;
|
||||
core.load();
|
||||
// core.save();
|
||||
// K.send();
|
||||
|
||||
|
||||
screen.waitForFinish();
|
||||
X.start();
|
||||
piSleep(1);
|
||||
//CDCore::instance()->destroy();
|
||||
piCout << "DELETED";
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user