43 lines
844 B
C
43 lines
844 B
C
|
/*
|
||
|
* Copyright 2009, Andrea Anzani. All rights reserved.
|
||
|
* Distributed under the terms of the MIT License.
|
||
|
*/
|
||
|
#ifndef CayaProtocol_h
|
||
|
#define CayaProtocol_h
|
||
|
|
||
|
#include <Messenger.h>
|
||
|
|
||
|
class CayaProtocolMessengerInterface {
|
||
|
|
||
|
public:
|
||
|
virtual status_t SendMessage(BMessage *message) = 0;
|
||
|
|
||
|
};
|
||
|
|
||
|
class CayaProtocol
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
// messenger
|
||
|
virtual status_t Init( CayaProtocolMessengerInterface * ) = 0;
|
||
|
|
||
|
// called before unloading from memory
|
||
|
virtual status_t Shutdown() = 0;
|
||
|
|
||
|
// process message
|
||
|
virtual status_t Process( BMessage * ) = 0;
|
||
|
|
||
|
// Get name of protocol
|
||
|
virtual const char * GetSignature() = 0;
|
||
|
virtual const char * GetFriendlySignature() = 0;
|
||
|
|
||
|
// settings changed
|
||
|
virtual status_t UpdateSettings( BMessage & ) = 0;
|
||
|
|
||
|
// preferred encoding of messages
|
||
|
virtual uint32 GetEncoding() = 0;
|
||
|
};
|
||
|
|
||
|
|
||
|
#endif
|