summaryrefslogtreecommitdiff
path: root/protocols/Skype/src/skype_subclassing.h
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/Skype/src/skype_subclassing.h')
-rw-r--r--protocols/Skype/src/skype_subclassing.h36
1 files changed, 28 insertions, 8 deletions
diff --git a/protocols/Skype/src/skype_subclassing.h b/protocols/Skype/src/skype_subclassing.h
index ffb971b828..5cd42cf5c3 100644
--- a/protocols/Skype/src/skype_subclassing.h
+++ b/protocols/Skype/src/skype_subclassing.h
@@ -2,14 +2,31 @@
#include <skype-embedded_2.h>
-class CAccount;
-
-class CSkype : public Skype
+class CContact : public Contact
{
public:
- Account* newAccount(int oid);
+ typedef DRef<CContact, Contact> Ref;
+ typedef DRefs<CContact, Contact> Refs;
+
+ CContact(unsigned int oid, SERootObject* root);
+
+protected:
+ void OnChange(int prop);
};
+class CContactGroup : public ContactGroup
+{
+public:
+ typedef DRef<CContactGroup, ContactGroup> Ref;
+ typedef DRefs<CContactGroup, ContactGroup> Refs;
+ CContactGroup(unsigned int oid, SERootObject* root);
+
+ CContact::Refs ContactList;
+
+protected:
+ void OnChange(const ContactRef& contact);
+};
+
class CAccount : public Account
{
public:
@@ -19,13 +36,16 @@ public:
bool isLoggedOut;
CAccount(unsigned int oid, SERootObject* root);
- void OnChange(int prop);
void BlockWhileLoggingIn();
void BlockWhileLoggingOut();
-};
-class CContact : public Contact
-{
+protected:
+ void OnChange(int prop);
};
+class CSkype : public Skype
+{
+public:
+ CAccount* newAccount(int oid);
+}; \ No newline at end of file