You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.7 KiB
59 lines
1.7 KiB
15 years ago
|
/*
|
||
|
Kopete Oscar Protocol
|
||
|
changevisibilitytask.h - Changes the visibility of the account via SSI
|
||
|
|
||
|
Copyright (c) 2005 Matt Rogers <mattr@kde.org>
|
||
|
|
||
|
Kopete (c) 2002-2005 by the Kopete developers <kopete-devel@kde.org>
|
||
|
|
||
|
*************************************************************************
|
||
|
* *
|
||
|
* This library is free software; you can redistribute it and/or *
|
||
|
* modify it under the terms of the GNU Lesser General Public *
|
||
|
* License as published by the Free Software Foundation; either *
|
||
|
* version 2 of the License, or (at your option) any later version. *
|
||
|
* *
|
||
|
*************************************************************************
|
||
|
*/
|
||
|
|
||
|
#ifndef CHANGEVISIBILITYTASK_H
|
||
|
#define CHANGEVISIBILITYTASK_H
|
||
|
|
||
|
#include "task.h"
|
||
|
|
||
|
/**
|
||
|
* This class provides a way to change how the account user
|
||
|
* appears on everybody else's contact list. It is used to
|
||
|
* implement the invisible online status in ICQ and AIM
|
||
|
* @author Matt Rogers
|
||
|
*/
|
||
|
class ChangeVisibilityTask : public Task
|
||
|
{
|
||
|
public:
|
||
|
ChangeVisibilityTask( Task* parent );
|
||
|
~ChangeVisibilityTask();
|
||
|
|
||
|
void setVisible( bool visible = true );
|
||
|
|
||
|
virtual bool forMe( const Transfer* transfer ) const;
|
||
|
virtual bool take( Transfer* transfer );
|
||
|
virtual void onGo();
|
||
|
|
||
|
private:
|
||
|
//damnit, this is ugly. time to refactor SSI stuff out into it's own
|
||
|
//class, file, whatever.
|
||
|
//! Send the SSI edit start packet
|
||
|
void sendEditStart();
|
||
|
|
||
|
//! Send the SSI edit end packet
|
||
|
void sendEditEnd();
|
||
|
|
||
|
private:
|
||
|
bool m_visible;
|
||
|
DWORD m_sequence;
|
||
|
};
|
||
|
|
||
|
#endif
|
||
|
|
||
|
//kate: indent-mode csands; space-indent off; replace-tabs off; tab-width 4;
|