OSRTOutputStreamIF.h
Go to the documentation of this file.00001 /* 00002 * Copyright (c) 2003-2017 Objective Systems, Inc. 00003 * 00004 * This software is furnished under a license and may be used and copied 00005 * only in accordance with the terms of such license and with the 00006 * inclusion of the above copyright notice. This software or any other 00007 * copies thereof may not be provided or otherwise made available to any 00008 * other person. No title to and ownership of the software is hereby 00009 * transferred. 00010 * 00011 * The information in this software is subject to change without notice 00012 * and should not be construed as a commitment by Objective Systems, Inc. 00013 * 00014 * PROPRIETARY NOTICE 00015 * 00016 * This software is an unpublished work subject to a confidentiality agreement 00017 * and is protected by copyright and trade secret law. Unauthorized copying, 00018 * redistribution or other use of this work is prohibited. 00019 * 00020 * The above notice of copyright on this source code product does not indicate 00021 * any actual or intended publication of such source code. 00022 * 00023 *****************************************************************************/ 00028 #ifndef _OSRTOUTPUTSTREAMIF_H_ 00029 #define _OSRTOUTPUTSTREAMIF_H_ 00030 00031 #include "rtxsrc/OSRTStreamIF.h" 00032 00043 class EXTRTCLASS OSRTOutputStreamIF : public OSRTStreamIF { 00044 public: 00045 enum StreamID { Unknown, File, Memory, Socket }; 00046 00050 virtual EXTRTMETHOD ~OSRTOutputStreamIF (); 00051 00059 virtual OSBOOL isA (StreamID id) const = 0; 00060 00072 virtual long write (const OSOCTET* pdata, size_t size) = 0; 00073 00074 } ; 00075 00076 class EXTRTCLASS OSRTOutputStreamPtr { 00077 OSRTOutputStreamIF* mPtr; 00078 public: 00079 inline OSRTOutputStreamPtr (OSRTOutputStreamIF* ptr) : mPtr (ptr) {} 00080 inline ~OSRTOutputStreamPtr () { delete mPtr; } 00081 00082 inline operator OSRTOutputStreamIF* () { return mPtr; } 00083 inline OSRTOutputStreamIF* operator-> () { return mPtr; } 00084 } ; 00085 00088 #endif /* _OSRTOUTPUTSTREAMIF_H_ */