1/*
2 *  IOFireWireLibIOCFPlugIn.h
3 *  IOFireWireFamily
4 *
5 *  Created by Niels on Thu Feb 27 2003.
6 *  Copyright (c) 2003 Apple Computer, Inc. All rights reserved.
7 *
8 *	$Log: IOFireWireLibIOCFPlugIn.h,v $
9 *	Revision 1.2  2003/07/21 06:53:10  niels
10 *	merge isoch to TOT
11 *
12 *	Revision 1.1.2.1  2003/07/01 20:54:23  niels
13 *	isoch merge
14 *
15 */
16
17#import "IOFireWireLibIUnknown.h"
18#import "IOFireWireLibPriv.h"
19
20#import <IOKit/IOCFPlugIn.h>
21
22namespace IOFireWireLib {
23
24	class IOCFPlugIn: public IOFireWireIUnknown
25	{
26		private:
27
28			static const IOCFPlugInInterface	sInterface ;
29			IOFireWireLibDeviceRef				mDevice ;
30
31		public:
32
33			IOCFPlugIn() ;
34			virtual ~IOCFPlugIn() ;
35
36			virtual HRESULT					QueryInterface( REFIID iid, LPVOID* ppv ) ;
37			static IOCFPlugInInterface**	Alloc() ;
38
39		private:
40
41			// IOCFPlugin methods
42			IOReturn 				Probe(CFDictionaryRef propertyTable, io_service_t service, SInt32 *order );
43			IOReturn 				Start(CFDictionaryRef propertyTable, io_service_t service );
44			IOReturn		 		Stop();
45
46			//
47			// --- CFPlugin static methods ---------
48			//
49
50			static IOReturn 		SProbe( void* self, CFDictionaryRef propertyTable, io_service_t service, SInt32 *order );
51			static IOReturn 		SStart( void* self, CFDictionaryRef propertyTable, io_service_t service );
52			static IOReturn 		SStop( void* self );
53	} ;
54
55} // namespace
56