//************************************************************************ // $Header: GIREF/src/commun/Streams/syenvmsg.h // $Date: 2009/07/03 15:49:40 $ // $Author: ericc $ // $Locker: $ //************************************************************************ //************************************************************************ // --- Copyright (c) 1992-1998 // --- Institut National de la Recherche Scientifique (INRS) // --- TOUS DROITS RÉSERVÉS // --- ALL RIGHTS RESERVED // --- // --- Ce logiciel est couvert par les lois de copyright. L'utilisation, // --- la copie ou la modification de ce logiciel sous toutes ses formes, // --- que ce soit code source ou code compilé, à des fins autres que // --- commerciales sont autorisées sans frais pour autant que la présente // --- notice de copyright ainsi que cette permission apparaissent dans // --- toutes les copies ainsi que dans la documentation. // --- L'INRS ne prétend en aucune façon que ce logiciel convient à un // --- emploi quelconque. Celui-ci est distribué sans aucune garantie // --- implicite ou explicite. //************************************************************************ //************************************************************************ // Fichier: syenvmsg.h // // Classe: SYEnveloppeMessage // // Sommaire: Classe servant à gérer le compte // des références aux objets SYMessage. // // Description: Cette classe, par l'entremise de la classe // TPCompteReference, gère le compte des références aux // objets SYMessage. Selon le paradigme de la lettre et de // l'enveloppe, cette classe est l'enveloppe. //
// Le concept du compte des références vise à optimiser // l'utilisation de la mémoire en évitant de recopier des // objets identiques. //
// Puisque la plupart des méthodes retournent un message,
// il est beaucoup plus profitable de retourner l'enveloppe
// du message plutôt que le message lui-même (c'est-à-dire
// l'objet SYMessage).
//
// Attributs: messageP: Un pointeur sur un compteur de références
// à des objets SYMessage.
//
// Notes: Pour plus d'informations, voir:
// Horstmann, Cay S., Mastering Object-Oriented Design in
// C++, pp. 258-287.
//************************************************************************
// 22-09-94 Eric Paquet & Yves Roy - version initiale
// 02-10-95 Eric Paquet Lorsque le constructeur par défaut est utilisé, on ne crée
// pas d'objet SYMessage. Dans ce cas, on assume que le type
// du message est OK. La mécanique des méthodes touchées
// par ce changement est ajustée.
// 11-10-95 Yves Roy: Retour à l'énumération Type et à sa conversion vers SYMessage