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__() {
|
__Core_Initializer__::__Core_Initializer__() {
|
||||||
count_++;
|
count_++;
|
||||||
//piCout << "try create Core" << count_;
|
piCout << "try create Core" << count_;
|
||||||
if (count_ > 1) return;
|
if (count_ > 1) return;
|
||||||
//piCout << "create Core";
|
piCout << "create Core";
|
||||||
__instance__ = new CDCore();
|
__instance__ = new CDCore();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
__Core_Initializer__::~__Core_Initializer__() {
|
__Core_Initializer__::~__Core_Initializer__() {
|
||||||
count_--;
|
count_--;
|
||||||
//piCout << "try delete Core" << count_;
|
piCout << "try delete Core" << count_;
|
||||||
|
if (count_ < 0) {
|
||||||
|
count_ = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (count_ > 0) return;
|
if (count_ > 0) return;
|
||||||
//piCout << "delete Core";
|
piCout << "delete Core ...";
|
||||||
if (__instance__ != 0) {
|
if (__instance__) {
|
||||||
delete __instance__;
|
delete __instance__;
|
||||||
__instance__ = 0;
|
__instance__ = 0;
|
||||||
}
|
}
|
||||||
|
piCout << "delete Core ok";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -59,9 +64,7 @@ __Core_Initializer__::~__Core_Initializer__() {
|
|||||||
|
|
||||||
CDCore::CDCore() {
|
CDCore::CDCore() {
|
||||||
setName("CDCore");
|
setName("CDCore");
|
||||||
sendt.setName("CDCore_send_thread");
|
x_timer.setName("__S__.CDCore.x_timer");
|
||||||
datatr.setName("CDCore_datatransfer");
|
|
||||||
x_timer.setName("CDCore_X_timer");
|
|
||||||
datatr.setPacketSize(960);
|
datatr.setPacketSize(960);
|
||||||
CONNECTU(&connection, dataReceivedEvent, this, dataReceived);
|
CONNECTU(&connection, dataReceivedEvent, this, dataReceived);
|
||||||
CONNECTU(PICout::Notifier::object(), finished, this, piCoutFinished);
|
CONNECTU(PICout::Notifier::object(), finished, this, piCoutFinished);
|
||||||
@@ -78,9 +81,9 @@ CDCore::CDCore() {
|
|||||||
initRoot(&c_);
|
initRoot(&c_);
|
||||||
initRoot(&m_);
|
initRoot(&m_);
|
||||||
|
|
||||||
|
CONNECTU(&sendt, started, this, sendThread)
|
||||||
CONNECTU(&datatr, sendRequest, this, dtSendRequest)
|
CONNECTU(&datatr, sendRequest, this, dtSendRequest)
|
||||||
CONNECTU(&datatr, receiveFinished, this, dtReceiveFinished)
|
CONNECTU(&datatr, receiveFinished, this, dtReceiveFinished)
|
||||||
CONNECTU(&sendt, started, this, sendThread)
|
|
||||||
CONNECTU(&x_timer, tickEvent, this, xTimerTick)
|
CONNECTU(&x_timer, tickEvent, this, xTimerTick)
|
||||||
|
|
||||||
/*k_[1] = KType(1, "123", "120+3", "comment");
|
/*k_[1] = KType(1, "123", "120+3", "comment");
|
||||||
@@ -96,16 +99,17 @@ CDCore::CDCore() {
|
|||||||
|
|
||||||
|
|
||||||
CDCore::~CDCore() {
|
CDCore::~CDCore() {
|
||||||
piCout << "~CDCore";
|
piCout << "~CDCore ...";
|
||||||
|
x_timer.stop(false);
|
||||||
|
piCout << "~CDCore 1";
|
||||||
datatr.stop();
|
datatr.stop();
|
||||||
piCout << "~datatr.stop()";
|
piCout << "~CDCore 2";
|
||||||
x_timer.stop();
|
sendt.stop();
|
||||||
piCout << "~x_timer.stop()";
|
piCout << "~CDCore 3";
|
||||||
sendt.stop(true);
|
sendt.waitForFinish(10);
|
||||||
piCout << "~sendt.stop()";
|
piCout << "~CDCore 4";
|
||||||
// sendt.waitForFinish(10);
|
|
||||||
connection.stop();
|
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) {
|
void CDUtils::CDCore::K_DirectChange(PIDeque<int> path, PIString value) {
|
||||||
piCoutObj << "K_DirectChange";
|
piCoutObj << "K_DirectChange";
|
||||||
PacketKDirectChange p;
|
PacketKDirectChange p;
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ class CDCore: public PIObject
|
|||||||
friend class XInterface;
|
friend class XInterface;
|
||||||
public:
|
public:
|
||||||
static CDCore * instance();
|
static CDCore * instance();
|
||||||
|
static bool destroy();
|
||||||
|
|
||||||
EVENT(K_Sended)
|
EVENT(K_Sended)
|
||||||
EVENT(K_SendFail)
|
EVENT(K_SendFail)
|
||||||
|
|||||||
@@ -87,120 +87,11 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#include "piscreen.h"
|
|
||||||
#include "piscreentiles.h"
|
|
||||||
PIScreen screen(false);
|
|
||||||
int main(int argc, char *argv[]) {
|
int main(int argc, char *argv[]) {
|
||||||
// PIString s;
|
X.start();
|
||||||
// s = "df a)))(a(ttt){a(b(c)})d)e( d dws ) sds(()fads(fdas()))fda))))fdasf((((jhvw";
|
piSleep(1);
|
||||||
// piCout << s;
|
//CDCore::instance()->destroy();
|
||||||
// piCout << s.inBrackets('(', ')');
|
piCout << "DELETED";
|
||||||
// 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();
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user