[ALG3IR][CPP] Templates, friend functions && Q_OBJECT

Voir le sujet précédent Voir le sujet suivant Aller en bas

[ALG3IR][CPP] Templates, friend functions && Q_OBJECT

Message  galaeron le Sam 01 Déc 2012, 15:41

Bonjour à tous,

Je suis actuellement à la recherche d'un moyen efficace et propre de regrouper un ensemble de fonctions dans un fichier protocol.cpp.
Sachant que :
  1. Ces fonctions doivent avoir accès à un attribut privé QTcpSocket de la classe appelante
  2. Ces fonctions doivent pouvoir être appelées depuis diverses classes X/Y dérivant de Q_OBJECT
Pour ce faire, il m'a paru judicieux d'en faire des fonctions amies et de leur passer un pointeur de l'instance appelante (puisqu'il est impossible de directement passer le QTcpSocket) et jusque là tout fonctionne ... Cependant il apparait qu'il est impossible de combiner templates et Q_OBJECT dut à certains comportement des fichiers moc ( source ).
J'aurais donc voulu savoir si vous voyez une alternative à ceci puisque la solution proposée là ne me convient pas vraiment ( qui dit QTcpSocket dis signaux ).

Exemple de ce que j'avais imaginé :
Code:

template <class T>
void writeQStringSock(QString & source, T * t){
    int size = source.length();
    QByteArray ba = source.toLocal8Bit();
    char * tmpStock = ba.data();
    writeIntSock(&size,t);
    t->soc->write(tmpStock,size);
}

D'avance merci !

galaeron

Nombre de messages : 113
Age : 28
Prénom : Arthur
Statut : 3IR12
Date d'inscription : 29/06/2011

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum