1 /* 2 * Copyright 1991-1999, Be Incorporated. 3 * Copyright (c) 1999-2000, Eric Moon. 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: 9 * 10 * 1. Redistributions of source code must retain the above copyright 11 * notice, this list of conditions, and the following disclaimer. 12 * 13 * 2. Redistributions in binary form must reproduce the above copyright 14 * notice, this list of conditions, and the following disclaimer in the 15 * documentation and/or other materials provided with the distribution. 16 * 17 * 3. The name of the author may not be used to endorse or promote products 18 * derived from this software without specific prior written permission. 19 * 20 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR 21 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 22 * OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR 23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 24 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 25 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 26 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 27 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR 28 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 */ 31 32 33 // LoggingConsumerAddOn.h 34 // e.moon 11jun99 35 // 36 // PURPOSE 37 // Quickie AddOn class for the LoggingConsumer node. 38 // 39 40 #ifndef __LoggingConsumerAddOn_H__ 41 #define __LoggingConsumerAddOn_H__ 42 43 #include <MediaAddOn.h> 44 45 // -------------------------------------------------------- // 46 47 class LoggingConsumerAddOn : 48 public BMediaAddOn { 49 typedef BMediaAddOn _inherited; 50 51 public: // ctor/dtor 52 virtual ~LoggingConsumerAddOn(); 53 explicit LoggingConsumerAddOn(image_id image); 54 55 public: // BMediaAddOn impl 56 virtual status_t InitCheck( 57 const char** out_failure_text); 58 virtual int32 CountFlavors(); 59 virtual status_t GetFlavorAt( 60 int32 n, 61 const flavor_info ** out_info); 62 virtual BMediaNode * InstantiateNodeFor( 63 const flavor_info * info, 64 BMessage * config, 65 status_t * out_error); 66 virtual status_t GetConfigurationFor( 67 BMediaNode * your_node, 68 BMessage * into_message); 69 70 virtual bool WantsAutoStart() { return false; } 71 virtual status_t AutoStart( 72 int in_count, 73 BMediaNode ** out_node, 74 int32 * out_internal_id, 75 bool * out_has_more) { return B_OK; } 76 }; 77 78 #endif /*__LoggingConsumerAddOn_H__*/ 79