1 #ifndef PUBLICATIONREGISTRATION_H
2 #define PUBLICATIONREGISTRATION_H
4 #include <platform_global.h>
9 #include <QWriteLocker>
10 #include <QReadWriteLock>
32 typedef enum:
int { Owner, Local, NotEntered } LASTCHANCEMODE;
40 QMap<QString,Publication *>systemsPublications;
41 QMap<QString, QVariant> systemProperties;
43 QMap<int,QStringList> remotePublications;
44 QMap<QString, int> flashOffCopyRemoteNames;
45 QMap<QString, QList<quint64>> forceGlobal;
46 Retain *persistantRetention;
49 quint64 uniqueIdDispatch;
51 QMap <QString, LASTCHANCEMODE> LastChanceOwnership;
53 QMap<QString, int> RelaysRequests;
54 QMap<QString, void *> classRegistry;
56 bool allowAutoConnectDaemon;
83 QStringList GetAllPublicationNames(
void);
89 QStringList GetAllPossibleNames(
void);
96 QStringList GetAllCurrentPublications(
void);
102 QStringList GetAllGlobals(
void);
108 QMap<QString,QVariant> GetAllDescriptors(
void);
115 void AddDescription(QString name, QVariant desc);
116 void RemoveDescription(QString name);
124 QMap<QString, int> GetAllPossibleNamesAndInstances();
132 QMap<int,QStringList> GetAllRemotePublications(
void);
142 void ForceGlobal(QString name, quint64
id);
152 void RemoveGlobal(QString name,quint64
id);
162 void RequestRelay(QString name,
bool flag =
true);
165 QStringList GetRelayRequests();
174 void ReWriteGlobal(QString name, LASTCHANCEMODE global );
181 QMap<QString, PublicationRegistration::LASTCHANCEMODE> GetLastChance(
void);
190 PublicationRegistration::LASTCHANCEMODE TestLastChance(QString name );
202 void AllowAutoConnectDaemon(
bool allow =
true);
203 bool AutoConnectDaemon(
void);
212 void AddStorage(
Retain *r);
244 void UseRetainedData(
Subscription *subscription, VremVArray &va );
254 void UseRetainedData(
Subscription *subscription, QVariant va );
274 QReadLocker locker(&classLockPublications);
284 QReadLocker locker(&classLockPublications);
294 QReadLocker locker(&classLockPublications);
305 QReadLocker locker(&classLockPublications);
307 uuid = QUuid::createUuid().toString();
318 return(getNodeName()+
"Alarms");
327 return(getNodeName()+
"Error");
336 return(getNodeName()+
"Messages");
345 return(getNodeName()+
"ShiftNotes");
353 quint64 UniqueID(
void);
364 QReadLocker locker(&classLockPublications);
365 classRegistry.insert(name,dc);
366 emit SignalNewClass(name,
true);
376 QMap<QString, void *> ::iterator it;
377 QReadLocker locker(&classLockPublications);
378 if ( (it = classRegistry.find(name)) != classRegistry.end() )
380 classRegistry.erase(it);
381 emit SignalNewClass(name,
false);
393 QMap<QString, void *>::iterator it;
394 if( (it = classRegistry.find(name) ) != classRegistry.end() )
408 void slot_NewRemotePublication(
int desc, QString name);
415 void slot_LostRemotePublication(
int desc, QString name);
421 void slot_LostRemoteDescriptor(
int desc);
424 void SignalNewPublication(QString name);
425 void SignalLostPublication(QString name);
426 void SignalNewPossiblePublication(QString name);
427 void SignalLostPossiblePublication(QString name);
428 void SignalNewRemotePublication(
int desc, QString name );
429 void SignalLostRemotePublication(
int desc, QString name );
430 void SignalLostRemoteDescriptor(
int desc);
431 void SignalGlobal(QString name,
bool yes);
432 void SignalRequestRelay(QString,
int);
433 void SignalNewClass(QString className ,
bool valid );
434 void SignalDescriptorAdded(QString, QVariant);
435 void SignalDescriptorLost(QString);
438 void slot_lostPublication(QString name);
The PublicationRegistration Multiverse Cloud.
Definition: publicationregistration.h:29
QString getErrorName()
getErrorName
Definition: publicationregistration.h:325
void setUUID(QString name)
setUUID
Definition: publicationregistration.h:292
QString getMessagesName()
getMessagesName
Definition: publicationregistration.h:334
void * FindRegisteredClass(const QString name)
FindRegisteredClass.
Definition: publicationregistration.h:391
QString getAlarmName()
getAlarmName
Definition: publicationregistration.h:316
QString getNodeName(void)
getNodeName
Definition: publicationregistration.h:282
void RegisterProcessClass(const QString name, t *dc)
RegisterProcessClass.
Definition: publicationregistration.h:362
void UnRegisterProcessClass(const QString name)
UnRegisterProcessClass.
Definition: publicationregistration.h:373
QString getUUID(void)
getUUID
Definition: publicationregistration.h:303
QString getShitNotesName()
getShitNotesName
Definition: publicationregistration.h:343
void setNodeName(QString name)
setNodeName
Definition: publicationregistration.h:272
The Publication class this is only used by the cloud, users should never use this class....
Definition: publication.h:17
The QWatch class.
Definition: qwatch.h:17
The RecursiveLock class Allows a recursive read write lock to occur.
Definition: platform_global.h:113
The Retain class this retains data from a subscription, generally used for setup data so subscription...
Definition: retain.h:43
The Subscription class A platform subscriber must use or inheit this class.
Definition: subscription.h:43