darling-dbuskit/Source/DKProperty.h
Niels Grewe 16103fe40a Start working on KVO support.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@33919 72102866-910b-0410-8b05-ffd578937521
2011-09-30 23:53:29 +00:00

81 lines
2.2 KiB
Objective-C

/** Interface for DKPorperty class encapsulating D-Bus property information.
Copyright (C) 2010 Free Software Foundation, Inc.
Written by: Niels Grewe <niels.grewe@halbordnung.de>
Created: September 2010
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.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111 USA.
<title>DKProperty class reference</title>
*/
#import "DKIntrospectionNode.h"
@class NSLock, NSString, DKArgument, DKPropertyAccessor, DKPropertyMutator;
/**
* DKProperty encapsulates information about D-Bus properties.
*/
@interface DKProperty: DKIntrospectionNode
{
/**
* The D-Bus type of the property.
*/
DKArgument *type;
/**
* Mutator method.
*/
DKPropertyMutator *mutator;
/**
* Accessor method.
*/
DKPropertyAccessor *accessor;
}
- (id)initWithDBusSignature: (const char*)characters
accessAttributes: (NSString*)attributes
name: (NSString*)name
parent: (NSString*)parent;
- (DKPropertyMutator*)mutatorMethod;
- (DKPropertyAccessor*)accessorMethod;
- (DKArgument*)type;
- (BOOL)isReadable;
- (BOOL)isWritable;
- (NSString*)interface;
/**
* Emits a property declaration for the property. If useObjC2 is set to YES, a
* "@property" declaration will be produced. Otherwise, method declarations for
* accessors and mutators are generated. The generated string ends with a
* newline.
*/
- (NSString*)propertyDeclarationForObjC2: (BOOL)useObjC2;
/**
* Specifies whether the owner of the property will emit a signal upon changes
* to the property.
*/
- (BOOL)willPostChangeNotification;
@end