git-svn-id: svn://db.shs.com.ru/pip@802 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5

This commit is contained in:
2019-06-17 18:32:02 +00:00
parent 6812b645d9
commit 71128017dd
24 changed files with 904 additions and 547 deletions

View File

@@ -56,7 +56,6 @@ handler A: event to event
*/
PIString PIObject::__MetaFunc::arguments() const {
return types.join(",");
}
@@ -74,19 +73,23 @@ PIString PIObject::__MetaFunc::fullFormat() const {
PIObject::PIObject(const PIString & name): _signature_(__PIOBJECT_SIGNATURE__), emitter_(0), thread_safe_(false), proc_event_queue(false) {
piMonitor.objects++;
//__PIVariantInitBuiltin__();
setName(name);
setDebug(true);
mutexObjects().lock();
piMonitor.objects++;
objects() << this;
mutexObjects().unlock();
//piCout << "new" << this;
}
PIObject::~PIObject() {
//piCout << "delete" << this;
mutexObjects().lock();
piMonitor.objects--;
objects().removeAll(this);
mutexObjects().unlock();
piDisconnect(this);
}
@@ -387,6 +390,7 @@ void PIObject::piDisconnect(PIObject * src) {
void PIObject::updateConnectors() {
//piCout << "*** updateConnectors" << this;
connectors.clear();
PIMutexLocker _ml(mutexObjects());
piForeach (PIObject * o, objects()) {
if (o == this) continue;
PIVector<__Connection> & oc(o->connections);
@@ -469,6 +473,12 @@ PIVector<PIObject * > & PIObject::objects() {
}
PIMutex & PIObject::mutexObjects() {
static PIMutex ret;
return ret;
}
void PIObject::callAddrV(void * slot, void * obj, int args, const PIVector<PIVariant> & vl) {
args = piMini(args, vl.size_s());
switch (args) {
@@ -561,6 +571,7 @@ void PIObject::dump(const PIString & line_prefix) const {
void dumpApplication() {
PIMutexLocker _ml(PIObject::mutexObjects());
//printf("dump application ...\n");
PIDateTime cd = PIDateTime::current();
PISystemInfo * pi = PISystemInfo::instance();