Relicense all GPLv2 only code to GPLv2+.
[kdenetwork.git] / kget / core / observer.h
blobc88b3eb21242246161327c0e615193f395b12b28
1 /* This file is part of the KDE project
3 Copyright (C) 2005 Dario Massarin <nekkar@libero.it>
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
9 */
12 #ifndef OBSERVER_H
13 #define OBSERVER_H
15 class TransferHandler;
16 class TransferGroupHandler;
18 /**
19 * @brief ModelObserver class
21 * A view should reimplement this class in order to receive notification about
22 * changes happened to the model
24 class ModelObserver
26 public:
27 virtual ~ModelObserver(){}
29 /**
30 * Notifies that a new "transfer group" has been added to the model
32 * @param group The "transfer group" that has just been added
34 virtual void addedTransferGroupEvent(TransferGroupHandler * group){ Q_UNUSED(group); }
36 /**
37 * Notifies that a new "transfer group" has been removed from the model
39 * @param group The "transfer group" that has just been removed
41 virtual void removedTransferGroupEvent(TransferGroupHandler * group){ Q_UNUSED(group); }
43 // In the future we will have also notifications about new searches..
46 class TransferGroupObserver
48 public:
49 virtual ~TransferGroupObserver(){}
51 /**
52 * Notifies that a transfer has changed (status, progress, etc...)
54 * @param group The group that has changed
56 virtual void groupChangedEvent(TransferGroupHandler * group){ Q_UNUSED(group); }
58 /**
59 * Notifies that a new transfer has been added to this group
61 * @param transfer The transfer that has just been added
62 * @param after The transfer after which it has been added
64 virtual void addedTransferEvent(TransferHandler * transfer, TransferHandler * after){ Q_UNUSED(transfer); Q_UNUSED(after); }
66 /**
67 * Notifies that a new transfer has been removed from this group.
68 * Note that from the moment the view receives this signal on, the
69 * pointer to the transferHandler becomes invalid.
71 * @param transfer The transfer that has just been removed
73 virtual void removedTransferEvent(TransferHandler * transfer){ Q_UNUSED(transfer); }
75 /**
76 * Notifies that a transfer previously belonging to this group
77 * has been moved whithin the group.
79 * @param transfer The transfer that has just been moved
80 * @param after The transfer after which it has been moved
82 virtual void movedTransferEvent(TransferHandler * transfer, TransferHandler * after){ Q_UNUSED(transfer); Q_UNUSED(after); }
84 /**
85 * Notifies that this group has been deleted
87 * @param group This group's handler
89 virtual void deleteEvent(TransferGroupHandler * group){ Q_UNUSED(group); }
92 class TransferObserver
94 public:
95 virtual ~TransferObserver(){}
97 /**
98 * Notifies that a transfer has changed (status, progress, ...)
100 * @param transfer The transfer that has changed
102 virtual void transferChangedEvent(TransferHandler * transfer){ Q_UNUSED(transfer); }
105 * Notifies that this transfer has been deleted
107 * @param transfer This transfer's handler
109 virtual void deleteEvent(TransferHandler * transfer){ Q_UNUSED(transfer); }
113 // Here we should add also other observers (SearchObserver)
115 #endif