diff options
Diffstat (limited to 'goodies/inc/agsdkdll.hxx')
-rw-r--r-- | goodies/inc/agsdkdll.hxx | 184 |
1 files changed, 184 insertions, 0 deletions
diff --git a/goodies/inc/agsdkdll.hxx b/goodies/inc/agsdkdll.hxx new file mode 100644 index 000000000000..d2f0f2b86526 --- /dev/null +++ b/goodies/inc/agsdkdll.hxx @@ -0,0 +1,184 @@ +/************************************************************************* + * + * $RCSfile: agsdkdll.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 16:30:08 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * 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 + * Lesser 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., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef _AGSDKDLL_HXX +#define _AGSDKDLL_HXX + +#ifndef _SV_CALL +#if defined(WIN) || defined(WNT) || ( defined(OS2) && !defined( ICC )) +#define _SV_CALL _cdecl +#elif defined( ICC ) && defined( OS2 ) +#define _SV_CALL __cdecl +#else +#define _SV_CALL +#endif +#endif + +#define AGSDKDLL_VERSION 2 + +typedef void* AgentInst; + +//////////////////////////////////////////////////////////////////////////////// +// Channel API Functions +// + +enum AgentStreamType { + AS_LOCAL_FILE = 1, + AS_MEMORY = 2 +}; + +typedef void (_SV_CALL *FncChShutDownAgent)(AgentInst pAg); + +typedef void (_SV_CALL *FncChSetLastSuccUpd)(AgentInst pAg); + +typedef void (_SV_CALL *FncChGetChannelObj)(AgentInst pAg, const char* pURL, + AgentStreamType eStreamType, const char* pFileName); + +typedef void (_SV_CALL *FncChAddChannelItem)(AgentInst pAg, const char* pName, + const char* pTransmitter, const char* pChannel, unsigned short nUpdPeriode, + const char* pAgentName ); + +typedef void (_SV_CALL *FncChDelChannelItem)(AgentInst pAg, const char* pChName); + +typedef void (_SV_CALL *FncChSetTransmitter)(AgentInst pAg, const char* pChName, + const char* pURL); + +typedef void (_SV_CALL *FncChSetChannel)(AgentInst pAg, const char* pChName, + const char* pRelURL); + +typedef void (_SV_CALL *FncChSetChannelName)(AgentInst pAg, const char* pChName, + const char* pNewChName); + +typedef void (_SV_CALL *FncChSetUpdPeriode)(AgentInst pAg, const char* pChName, + unsigned short nUpdPeriode); + +typedef void (_SV_CALL *FncChSetChannelAgentName)(AgentInst pAg, const char* pChName, + const char* pAgName); + +typedef void (_SV_CALL *FncChSetUpdateTransmitter)(AgentInst pAg, + const char* pTransmitter); + +typedef const char* (_SV_CALL *FncChGetAgentSourceURL)(AgentInst pAg); + +struct ChannelApiFncs +{ + unsigned short nVersion; + FncChShutDownAgent fncShutDownAgent; + FncChSetLastSuccUpd fncSetLastSuccUpd; + FncChGetChannelObj fncGetChannelObj; + FncChAddChannelItem fncAddChannelItem; + FncChDelChannelItem fncDelChannelItem; + FncChSetTransmitter fncSetTransmitter; + FncChSetChannel fncSetChannel; + FncChSetChannelName fncSetChannelName; + FncChSetUpdPeriode fncSetUpdPeriode; + FncChSetChannelAgentName fncSetChannelAgentName; + FncChSetUpdateTransmitter fncSetUpdateTransmitter; + FncChGetAgentSourceURL fncGetAgentSourceURL; +}; + +//////////////////////////////////////////////////////////////////////////////// +// Agent API Functions +// + +#if defined(WIN) || defined(WNT) || defined(OS2) || defined(UNX) || defined(MAC) +extern "C" { +#endif + +typedef void (_SV_CALL *FncInitAgent)(AgentInst, ChannelApiFncs*); +void _SV_CALL InitAgent(AgentInst, ChannelApiFncs*); + +typedef void (_SV_CALL *FncShutDownAgent)(); +void _SV_CALL ShutDownAgent(); + +// NewDataPermission +// ChannelName +typedef unsigned char (_SV_CALL *FncNewDataPermission)(const char*); +unsigned char _SV_CALL NewDataPermission(const char*); + +// NewData +// ChannelName, URL +typedef void (_SV_CALL *FncNewData)(const char*, const char*); +void _SV_CALL NewData(const char*, const char*); + +// NotifyChannelObjFile +// URL, abs. Filename +typedef void (_SV_CALL *FncNotifyChannelObjFile)(const char*, const char*); +void _SV_CALL NotifyChannelObjFile(const char*, const char*); + +// NotifyChannelObjData +// URL, Buffer, Offset, Len, TotalLen +typedef void (_SV_CALL *FncNotifyChannelObjData)(const char*, void*, long, long, long); +void _SV_CALL NotifyChannelObjData(const char*, void*, long, long, long); + +typedef void (_SV_CALL *FncRegisterChannels)(AgentInst, ChannelApiFncs*); +void _SV_CALL RegisterChannels(AgentInst, ChannelApiFncs*); + +typedef void (_SV_CALL *FncRegisterUpdateTransmitter)(AgentInst, ChannelApiFncs*); +void _SV_CALL RegisterUpdateTransmitter(AgentInst, ChannelApiFncs*); + +#if defined(WIN) || defined(WNT) || defined(OS2) || defined(UNX) || defined(MAC) +} +#endif + +#endif //_AGSDKDLL_HXX + + |