141 lines
2.0 KiB
C++
141 lines
2.0 KiB
C++
/*
|
|
* Copyright 2001-2014 Haiku, Inc. All rights reserved.
|
|
* Distributed under the terms of the MIT License.
|
|
*
|
|
* Authors:
|
|
* Erik Jaesler (erik@cgsoftware.com)
|
|
*/
|
|
|
|
|
|
#include <MessageFilter.h>
|
|
|
|
|
|
BMessageFilter::BMessageFilter(uint32 inWhat, filter_hook func)
|
|
:
|
|
fFiltersAny(false),
|
|
fWhat(inWhat),
|
|
fDelivery(B_ANY_DELIVERY),
|
|
fSource(B_ANY_SOURCE),
|
|
fLooper(NULL),
|
|
fFilterFunction(func)
|
|
{
|
|
}
|
|
|
|
|
|
BMessageFilter::BMessageFilter(message_delivery delivery,
|
|
message_source source, filter_hook func)
|
|
:
|
|
fFiltersAny(true),
|
|
fWhat(0),
|
|
fDelivery(delivery),
|
|
fSource(source),
|
|
fLooper(NULL),
|
|
fFilterFunction(func)
|
|
{
|
|
}
|
|
|
|
|
|
BMessageFilter::BMessageFilter(message_delivery delivery,
|
|
message_source source, uint32 inWhat, filter_hook func)
|
|
:
|
|
fFiltersAny(false),
|
|
fWhat(inWhat),
|
|
fDelivery(delivery),
|
|
fSource(source),
|
|
fLooper(NULL),
|
|
fFilterFunction(func)
|
|
{
|
|
}
|
|
|
|
|
|
BMessageFilter::BMessageFilter(const BMessageFilter& filter)
|
|
{
|
|
*this = filter;
|
|
}
|
|
|
|
|
|
BMessageFilter::BMessageFilter(const BMessageFilter* filter)
|
|
{
|
|
*this = *filter;
|
|
}
|
|
|
|
|
|
BMessageFilter::~BMessageFilter()
|
|
{
|
|
}
|
|
|
|
|
|
BMessageFilter &
|
|
BMessageFilter::operator=(const BMessageFilter& from)
|
|
{
|
|
fFiltersAny = from.FiltersAnyCommand();
|
|
fWhat = from.Command();
|
|
fDelivery = from.MessageDelivery();
|
|
fSource = from.MessageSource();
|
|
fFilterFunction = from.FilterFunction();
|
|
|
|
SetLooper(from.Looper());
|
|
|
|
return *this;
|
|
}
|
|
|
|
|
|
filter_result
|
|
BMessageFilter::Filter(BMessage* message, BHandler** target)
|
|
{
|
|
return B_DISPATCH_MESSAGE;
|
|
}
|
|
|
|
|
|
message_delivery
|
|
BMessageFilter::MessageDelivery() const
|
|
{
|
|
return fDelivery;
|
|
}
|
|
|
|
|
|
message_source
|
|
BMessageFilter::MessageSource() const
|
|
{
|
|
return fSource;
|
|
}
|
|
|
|
|
|
uint32
|
|
BMessageFilter::Command() const
|
|
{
|
|
return fWhat;
|
|
}
|
|
|
|
|
|
bool
|
|
BMessageFilter::FiltersAnyCommand() const
|
|
{
|
|
return fFiltersAny;
|
|
}
|
|
|
|
|
|
BLooper*
|
|
BMessageFilter::Looper() const
|
|
{
|
|
return fLooper;
|
|
}
|
|
|
|
|
|
void BMessageFilter::_ReservedMessageFilter1() {}
|
|
void BMessageFilter::_ReservedMessageFilter2() {}
|
|
|
|
|
|
void
|
|
BMessageFilter::SetLooper(BLooper* owner)
|
|
{
|
|
fLooper = owner;
|
|
}
|
|
|
|
|
|
filter_hook
|
|
BMessageFilter::FilterFunction() const
|
|
{
|
|
return fFilterFunction;
|
|
}
|