office-gobmx/goodies/inc/chagent.hxx
Jens-Heiner Rechtien 0d14f932b0 initial import
2000-09-18 15:33:13 +00:00

234 lines
8.1 KiB
C++

/*************************************************************************
*
* $RCSfile: chagent.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 _CHAGENT_HXX
#define _CHAGENT_HXX
#ifndef _LIST_HXX //autogen
#include <tools/list.hxx>
#endif
#ifndef _URLOBJ_HXX
#include <tools/urlobj.hxx>
#endif
#include <tools/agitem.hxx>
class ChannelAgentItem;
class ChannelItem;
DECLARE_LIST(ChannelAgentItemList,ChannelAgentItem*)
enum AgentType
{
AG_TYP_DONTKNOW = 0,
AG_TYP_DLL = 1,
AG_TYP_BASIC = 2,
AG_TYP_JAVA = 3
};
#define STR_AG_TYP_DLL "DLL"
#define STR_AG_TYP_BASIC "BASIC"
#define STR_AG_TYP_JAVA "JAVA"
class ChannelAgentItem : public AgentItem
{
AgentType eAgentType;
String aChAgentName;
INetURLObject aLocation;
ULONG nLastSuccUpdDate;
long nLastSuccUpdTime;
INetURLObject aSource;
BOOL bEnabled;
DateTime aLastCheckDate;
// runtime
BOOL bIsActive;
BOOL bIsInUpdate;
BOOL bRestartAfterUpdate;
ULONG nChObjDate;
long nChObjTime;
ChannelItem* pActChannel;
AgentApi* pAgentApi;
ChannelApi* pChannelApi;
INetURLObject aSourceURL;
Link aBTXShutdownCallback;
protected:
friend class ChannelApi;
void DeleteApis();
public:
ChannelAgentItem();
~ChannelAgentItem();
// Set / Get AgentType
void SetChannelAgentType(AgentType eNew)
{ eAgentType = eNew; }
AgentType GetChannelAgentType() const
{ return eAgentType; }
// Set / Get ChAgentName
void SetChAgentName(const String& rNew)
{ aChAgentName = rNew; }
virtual const String& GetChAgentName() const
{ return aChAgentName; }
// Set / Get Location
void SetLocation(const INetURLObject& rNew)
{ aLocation = rNew; }
virtual const INetURLObject& GetLocation() const
{ return aLocation; }
// Set / Get LastSuccUpdDate
void SetLastSuccUpdDate(ULONG nNew)
{ nLastSuccUpdDate = nNew; }
ULONG GetLastSuccUpdDate() const
{ return nLastSuccUpdDate; }
// Set / Get LastSuccUpdTime
void SetLastSuccUpdTime(ULONG nNew)
{ nLastSuccUpdTime = nNew; }
ULONG GetLastSuccUpdTime() const
{ return nLastSuccUpdTime; }
// Set / Get LastCheckDate
void SetLastCheckDate( const DateTime& rNew )
{ aLastCheckDate = rNew; }
const DateTime& GetLastCheckDate()
{ return aLastCheckDate; }
// Set / Get Source
void SetSource(const INetURLObject& rNew)
{ aSource = rNew; }
const INetURLObject& GetSource() const
{ return aSource; }
// Set / Get Enabled
virtual void SetEnabled(BOOL bNew = TRUE)
{ bEnabled = bNew; }
virtual BOOL IsEnabled() const
{ return bEnabled; }
// Set / Get IsActive
virtual void SetIsActive(BOOL bNew)
{ bIsActive = bNew; }
virtual BOOL IsActive() const
{ return bIsActive; }
// runtime ////////////////////////////////////////////////////////////////
const INetURLObject& GetAgentSourceURL() const
{ return aSourceURL; }
void SetAgentSourceURL(const INetURLObject& rNew)
{ aSourceURL = rNew; }
// Set / Get ActiveChannel
void SetActiveChannel(ChannelItem* pChItem)
{ pActChannel = pChItem; }
ChannelItem* GetActiveChannel() const
{ return pActChannel; }
// Set / Get IsInUpdate
void SetIsInUpdate( BOOL bNew )
{ bIsInUpdate = bNew; }
BOOL IsInUpdate() const
{ return bIsInUpdate; }
// Set / Get RestartAfterUpdate
void SetRestartAfterUpdate( BOOL bNew )
{ bRestartAfterUpdate = bNew; }
BOOL RestartAfterUpdate() const
{ return bRestartAfterUpdate; }
// AgentAPI
void SetApi(AgentApi* pNew )
{ pAgentApi = pNew; }
virtual AgentApi* GetApi() const
{ return pAgentApi; }
// ChannelAPI
void SetChApi(ChannelApi* pNew )
{ pChannelApi = pNew; }
virtual ChApi* GetChApi() const
{ return (ChApi*)pChannelApi; }
// Set / Get ChObjDate
void SetChObjDate(ULONG nNew)
{ nChObjDate = nNew; }
ULONG GetChObjDate() const
{ return nChObjDate; }
// Set / Get ChObjTime
void SetChObjTime(long nNew)
{ nChObjTime = nNew; }
long GetChObjTime() const
{ return nChObjTime; }
void SetBTXShutDownCallBack(const Link& rLnk )
{ aBTXShutdownCallback = rLnk; }
const Link& GetBTXShutDownCallBack()
{ return aBTXShutdownCallback; }
};
#endif // _CHAGENT_HXX