#include "PrintServer.h" #include <iostream> // costruttore simile a quello di Node // assegna al PrintServer un tipo di default // Il PS di default gestisce documenti ASCII PrintServer:: PrintServer( const Address& addr, PacketFactory* pf) : Node(addr, pf), current_type_("ASCII") { cout << "Costruisco un Printserver " << current_type_ << endl; } //costruttore con il quele e' possibile assegnare // esplicitamente il tipo al PrintServer PrintServer:: PrintServer( const Address& addr, PacketFactory* pf, const PrintServerType& type) : Node(addr, pf), current_type_( type ) { cout << "Costruisco un Printserver " << current_type_ << endl; } PrintServer:: ~PrintServer() { cout << "Distruggo un PrintServer " << current_type_ << endl; } void PrintServer:: handle( const Packet& packet ) const { // un nodo generico ed un PrintSrver differiscono // per il metodo di inoltro, il PS puo' anche essere // di tipi diversi( ASCII, Postscipt, ecc ). // questo e' solo un esempio, una PS potrebbe // trattare il pacchetto in modo piu' specifico. cout << "Pacchetto " << packet.getInfo() << " processato da " << getAddress() << ": Printserver " << current_type_ << endl; }