Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
662c532f
Kaydet (Commit)
662c532f
authored
Eyl 18, 2000
tarafından
Jens-Heiner Rechtien
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
initial import
üst
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
45 changed files
with
3132 additions
and
0 deletions
+3132
-0
.html
vos/docu/.html
+139
-0
conditn.hxx
vos/inc/vos/conditn.hxx
+178
-0
diagnose.hxx
vos/inc/vos/diagnose.hxx
+90
-0
execabl.hxx
vos/inc/vos/execabl.hxx
+195
-0
istream.hxx
vos/inc/vos/istream.hxx
+112
-0
macros.hxx
vos/inc/vos/macros.hxx
+206
-0
module.hxx
vos/inc/vos/module.hxx
+123
-0
mutex.hxx
vos/inc/vos/mutex.hxx
+224
-0
object.hxx
vos/inc/vos/object.hxx
+240
-0
pipe.hxx
vos/inc/vos/pipe.hxx
+0
-0
process.hxx
vos/inc/vos/process.hxx
+0
-0
ref.hxx
vos/inc/vos/ref.hxx
+223
-0
ref.inl
vos/inc/vos/ref.inl
+226
-0
refernce.hxx
vos/inc/vos/refernce.hxx
+153
-0
refobj.hxx
vos/inc/vos/refobj.hxx
+129
-0
refobj.inl
vos/inc/vos/refobj.inl
+120
-0
runnable.hxx
vos/inc/vos/runnable.hxx
+109
-0
security.hxx
vos/inc/vos/security.hxx
+165
-0
signal.hxx
vos/inc/vos/signal.hxx
+152
-0
socket.hxx
vos/inc/vos/socket.hxx
+0
-0
stream.hxx
vos/inc/vos/stream.hxx
+330
-0
thread.hxx
vos/inc/vos/thread.hxx
+0
-0
timer.hxx
vos/inc/vos/timer.hxx
+0
-0
types.hxx
vos/inc/vos/types.hxx
+0
-0
xception.hxx
vos/inc/vos/xception.hxx
+0
-0
d.lst
vos/prj/d.lst
+18
-0
conditn.cxx
vos/source/conditn.cxx
+0
-0
dllentry.cxx
vos/source/dllentry.cxx
+0
-0
makefile.mk
vos/source/makefile.mk
+0
-0
module.cxx
vos/source/module.cxx
+0
-0
mutex.cxx
vos/source/mutex.cxx
+0
-0
object.cxx
vos/source/object.cxx
+0
-0
pipe.cxx
vos/source/pipe.cxx
+0
-0
process.cxx
vos/source/process.cxx
+0
-0
refernce.cxx
vos/source/refernce.cxx
+0
-0
security.cxx
vos/source/security.cxx
+0
-0
signal.cxx
vos/source/signal.cxx
+0
-0
socket.cxx
vos/source/socket.cxx
+0
-0
stream.cxx
vos/source/stream.cxx
+0
-0
thread.cxx
vos/source/thread.cxx
+0
-0
timer.cxx
vos/source/timer.cxx
+0
-0
xception.cxx
vos/source/xception.cxx
+0
-0
libvos1C50.so.mapfile
vos/util/libvos1C50.so.mapfile
+0
-0
makefile.mk
vos/util/makefile.mk
+0
-0
version.mk
vos/version.mk
+0
-0
No files found.
vos/docu/.html
0 → 100644
Dosyayı görüntüle @
662c532f
<html><head><TITLE></TITLE></head>
<body>
<H2><A
HREF =
"#DOC.DOCU"
>
<IMG
BORDER=
0
SRC=
down.gif
></A>
</H2>
<TABLE>
<TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
IAcceptHandler.html
><B>
IAcceptHandler
</B></A>
<br>
<I>
Interface IAcceptHandler
Overload onConnection() to handle a connected socket
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
IAcceptHandlerFactory.html
><B>
IAcceptHandlerFactory
</B></A>
<br>
<I>
Interface IAcceptHandlerFactory
Creates objects with IAcceptHandler interface
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OAcceptor.html
><B>
OAcceptor
</B></A>
<br>
<I>
Starts a thread where incoming connections are accepted
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OByteArray.html
><B>
OByteArray
</B></A>
<br>
<I>
Array of bytes
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OByteStream.html
><B>
OByteStream
</B></A>
<br>
<I>
Wraps a byte-stream around a byte array
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
ICondition.html
><B>
ICondition
</B></A>
<br>
<I>
ICondition
Interface for a thread-spanning condition
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OCondition.html
><B>
OCondition
</B></A>
<br>
<I>
OCondition
Implements the ICondition interface
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
IConnectHandler.html
><B>
IConnectHandler
</B></A>
<br>
<I>
Interface IConnectHandler
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OConnector.html
><B>
OConnector
</B></A>
<br>
<I>
Delegates a connected socket to an IConnectHandler object
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OException.html
><B>
OException
</B></A>
<br>
<I>
Base class for exceptions
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OSimpleException.html
><B>
OSimpleException
</B></A>
<br>
<I></I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
IExecutable.html
><B>
IExecutable
</B></A>
<br>
<I>
IExecutable
The IExecutable-interface is to be understood as wrapper around
your application-code, which allows it to be executed asynchronously
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OExecutable.html
><B>
OExecutable
</B></A>
<br>
<I>
OExecutable
added default impl
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OFiberingServer.html
><B>
OFiberingServer
</B></A>
<br>
<I>
OFiberingServer
Depends on cooperative executing IExecutable-Objects
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OFuture.html
><B>
OFuture
</B></A>
<br>
<I>
OFuture, OFutureRef
A future represents the result of an asynchronous operation
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OFutureRef.html
><B>
OFutureRef
</B></A>
<br>
<I>
OFutureRef
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
IStream.html
><B>
IStream
</B></A>
<br>
<I>
Interface for a stream of data, on that you can read and write blocks of bytes
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
IMutex.html
><B>
IMutex
</B></A>
<br>
<I>
IMutex interface
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OThreadMutex.html
><B>
OThreadMutex
</B></A>
<br>
<I>
OThreadMutex
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OGuard.html
><B>
OGuard
</B></A>
<br>
<I>
OGuard
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OObject.html
><B>
OObject
</B></A>
<br>
<I>
OObject
common base class for all framework classes
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OCreateParam.html
><B>
OCreateParam
</B></A>
<br>
<I>
Basic class information
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OClassInfo.html
><B>
OClassInfo
</B></A>
<br>
<I></I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
IObserver.html
><B>
IObserver
</B></A>
<br>
<I>
IObserver
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
IObserved.html
><B>
IObserved
</B></A>
<br>
<I>
IObserved
Just an idea
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OObserver.html
><B>
OObserver
</B></A>
<br>
<I>
OObserver
add default-implementation of refence-counting behaviour to IObserver-Interface
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
ORef.html
><B>
ORef
</B></A>
<br>
<I>
ORef
<T>
template type to implement handle/body behaviour
with reference-counting
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
IReferenceCounter.html
><B>
IReferenceCounter
</B></A>
<br>
<I>
Interface for refernce-counting
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
IRunnable.html
><B>
IRunnable
</B></A>
<br>
<I>
IRunnable
The IRunnable-interface is to be understood as wrapper around
your application-code, which allows it to be executed asynchronously
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OExecutableThread.html
><B>
OExecutableThread
</B></A>
<br>
<I>
OExecutableThread
A thread used to execute an IExecutable-Object
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OSemaphore.html
><B>
OSemaphore
</B></A>
<br>
<I>
Counting semaphore (unnamed, because thread-local)
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
ISocketTypes.html
><B>
ISocketTypes
</B></A>
<br>
<I>
Base data types
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
ISocketAddr.html
><B>
ISocketAddr
</B></A>
<br>
<I>
Base class for socket addresses
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OInetSocketAddr.html
><B>
OInetSocketAddr
</B></A>
<br>
<I>
Represents an internet-address
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OIpxSocketAddr.html
><B>
OIpxSocketAddr
</B></A>
<br>
<I>
Represents an IPX/SPX address
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OSocket.html
><B>
OSocket
</B></A>
<br>
<I>
Represents a socket
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OStreamSocket.html
><B>
OStreamSocket
</B></A>
<br>
<I>
A socket to send or receive a stream of data
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OAcceptorSocket.html
><B>
OAcceptorSocket
</B></A>
<br>
<I>
A socket to accept incoming connections
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OConnectorSocket.html
><B>
OConnectorSocket
</B></A>
<br>
<I>
A socket to initiate a conenction
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
ODatagramSocket.html
><B>
ODatagramSocket
</B></A>
<br>
<I>
A connectionless socket to send and receive datagrams
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
IPositionableStream.html
><B>
IPositionableStream
</B></A>
<br>
<I>
Adds seeking capabilities to IStream
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OStream.html
><B>
OStream
</B></A>
<br>
<I>
Implements IPositionableStream
</I>
</TD></TR><TR><TD
VALIGN=
top
><IMG
BORDER=
0
SRC=
icon1.gif
>
</TD><TD><A
HREF=
OString.html
><B>
OString
</B></A>
<br>
<I>
A string class
</I>
</TD></TR>
</TABLE>
<A
NAME=
"DOC.DOCU"
>
<DL></DL><P><I><A
HREF=
"aindex.html"
>
alphabetic index
</A></I>
<I><A
HREF=
"HIER.html"
>
hierarchy of classes
</A></I><P></BODY><hr>
<A
HREF=
"http://www.zib.de/Visual/software/doc++/index.html"
><IMG
BORDER=
0
ALIGN=
RIGHT
SRC=
logo.gif
></A>
<P
Align=
Center
><I>
this page has been generated automatically by doc++
<P
Align=
Center
>
(c)opyright by
<A
HREF=
"http://www.zib.de/zoeckler/"
>
Malte Z
&
oumlckler
</A>
,
<A
HREF=
"mailto:wunderling@zib.de"
>
Roland Wunderling
</A><br>
contact:
<A
HREF=
"mailto:doc++@zib.de"
>
doc++@zib.de
</a>
\ No newline at end of file
vos/inc/vos/conditn.hxx
0 → 100644
Dosyayı görüntüle @
662c532f
/*************************************************************************
*
* $RCSfile: conditn.hxx,v $
*
* $Revision: 1.1.1.1 $
*
* last change: $Author: hr $ $Date: 2000-09-18 15:18:11 $
*
* 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 _VOS_CONDITN_HXX_
#define _VOS_CONDITN_HXX_
#ifndef _OSL_CONDITN_H_
# include <osl/conditn.h>
#endif
#ifndef _VOS_OBJECT_HXX_
# include <vos/object.hxx>
#endif
#ifdef _USE_NAMESPACE
namespace
vos
{
#endif
/** ICondition
Interface for a thread-spanning condition. If a condition-object
is created, its initial condition is False. You can check the
condition nonblocking with "check()" or wait for it to become set
with "wait()". The methods "set()" and "reset()" are used to change
the conditions state.
@author Bernd Hofner
@version 1.0
*/
class
ICondition
{
public
:
ICondition
()
{
}
virtual
~
ICondition
()
{
}
enum
TResult
{
result_ok
=
osl_cond_result_ok
,
result_error
=
osl_cond_result_error
,
result_timeout
=
osl_cond_result_timeout
};
/** set condition to True =>
wait() will not block, check() returns True
*/
virtual
void
SAL_CALL
set
()
=
0
;
/** set condition to False =>
wait() will block, check() returns False
*/
virtual
void
SAL_CALL
reset
()
=
0
;
/** Blocks if condition is not set<BR>
If condition has been destroyed prematurely, wait() will
return with False.
*/
virtual
TResult
SAL_CALL
wait
(
const
TimeValue
*
pTimeout
=
0
)
=
0
;
/** True: condition is set <BR>
False: condition is not set <BR>
does not block
*/
virtual
sal_Bool
SAL_CALL
check
()
=
0
;
};
/** OCondition
Implements the ICondition interface.
@author Bernd Hofner
@version 1.0
*/
class
OCondition
:
public
OObject
,
public
ICondition
{
VOS_DECLARE_CLASSINFO
(
VOS_NAMESPACE
(
OCondition
,
vos
));
public
:
/// initial state of condition is not set
OCondition
();
virtual
~
OCondition
();
/// set condition to True => wait() will not block, check() returns True
virtual
void
SAL_CALL
set
();
/// set condition to False => wait() will block, check() returns False
virtual
void
SAL_CALL
reset
();
/** Blocks if condition is not set<BR>
If condition has been destroyed prematurely, wait() will
return with False.
*/
TResult
SAL_CALL
wait
(
const
TimeValue
*
pTimeout
=
0
);
/** True: condition is set <BR>
False: condition is not set <BR>
does not block
*/
virtual
sal_Bool
SAL_CALL
check
();
protected
:
oslCondition
m_Condition
;
};
#ifdef _USE_NAMESPACE
}
#endif
#endif // _VOS_CONDITN_HXX_
vos/inc/vos/diagnose.hxx
0 → 100644
Dosyayı görüntüle @
662c532f
/*************************************************************************
*
* $RCSfile: diagnose.hxx,v $
*
* $Revision: 1.1.1.1 $
*
* last change: $Author: hr $ $Date: 2000-09-18 15:18:12 $
*
* 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 _VOS_DIAGNOSE_H_
#define _VOS_DIAGNOSE_H_
#ifndef _OSL_DIAGNOSE_H_
#include <osl/diagnose.h>
#endif
/*
Diagnostic support
*/
#define VOS_THIS_FILE __FILE__
#define VOS_DEBUG_ONLY(s) _OSL_DEBUG_ONLY(s)
#define VOS_TRACE _OSL_TRACE
#define VOS_ASSERT(c) _OSL_ASSERT(c, VOS_THIS_FILE, __LINE__)
#define VOS_VERIFY(c) _OSL_VERIFY(c, VOS_THIS_FILE, __LINE__)
#define VOS_ENSHURE(c, m) _OSL_ENSHURE(c, VOS_THIS_FILE, __LINE__, m)
#define VOS_ENSURE(c, m) _OSL_ENSURE(c, VOS_THIS_FILE, __LINE__, m)
#define VOS_PRECOND(c, m) VOS_ENSHURE(c, m)
#define VOS_POSTCOND(c, m) VOS_ENSHURE(c, m)
#endif
/* _VOS_DIAGNOSE_H_ */
vos/inc/vos/execabl.hxx
0 → 100644
Dosyayı görüntüle @
662c532f
/*************************************************************************
*
* $RCSfile: execabl.hxx,v $
*
* $Revision: 1.1.1.1 $
*
* last change: $Author: hr $ $Date: 2000-09-18 15:18:12 $
*
* 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 _VOS_EXECABL_HXX_
#define _VOS_EXECABL_HXX_
#ifndef _VOS_TYPES_HXX_
# include <vos/types.hxx>
#endif
#ifndef _VOS_REFERNCE_HXX_
# include <vos/refernce.hxx>
#endif
#ifdef _USE_NAMESPACE
namespace
vos
{
#endif
/** IExecutable
The IExecutable-interface is to be understood as wrapper around
your application-code, which allows it to be executed asynchronously.
Wether you want real asynchronous behaviour or just pseudo-multitasking
depends on which kind of execution-service you use to execute your executable.
(E.g. Threadpool/Fiberpool)
@author Bernd Hofner
@version 0.1
*/
class
IExecutable
:
public
NAMESPACE_VOS
(
IReference
)
{
public
:
/** Overload to implement your functionality.
Return True, if you want "execute()" to be called again.
*/
virtual
sal_Bool
SAL_CALL
execute
()
=
0
;
/** If you use blocking calls within your execute-function,
you should provide here a means to unblock cleanly.
@Return False if you are not able to unblock the
thread.
*/
virtual
sal_Bool
SAL_CALL
unblock
()
=
0
;
/**
STL demands this operators if you want to place
IExecutables per value in collections.
*/
virtual
sal_Bool
SAL_CALL
operator
<
(
const
IExecutable
&
)
const
=
0
;
virtual
sal_Bool
SAL_CALL
operator
>
(
const
IExecutable
&
)
const
=
0
;
virtual
sal_Bool
SAL_CALL
operator
==
(
const
IExecutable
&
)
const
=
0
;
virtual
sal_Bool
SAL_CALL
operator
!=
(
const
IExecutable
&
)
const
=
0
;
};
/** OExecutable
added default impl. of IReferenceCounter
*/
class
OExecutable
:
public
NAMESPACE_VOS
(
IExecutable
),
public
NAMESPACE_VOS
(
OReference
)
{
public
:
virtual
~
OExecutable
()
{
}
/*
Since the dominance of the OReferenceCounter impl.
of the IReferenceCounter is not granted, delegate
the methods to this branch of the diamond-shaped
inheritance tree.
*/
virtual
RefCount
SAL_CALL
acquire
()
{
return
OReference
::
acquire
();
}
virtual
RefCount
SAL_CALL
release
()
{
return
OReference
::
release
();
}
virtual
RefCount
SAL_CALL
referenced
()
const
{
return
OReference
::
referenced
();
}
/** Default implementation of unblock does nothing.
*/
virtual
sal_Bool
SAL_CALL
unblock
()
{
return
sal_True
;
}
/**
STL demands this operators if you want to place
IExecutables per value in collections.
Use a default implementation of the comparison-operators
here without a correct semantic.
*/
virtual
sal_Bool
SAL_CALL
operator
<
(
const
IExecutable
&
)
const
{
return
sal_False
;
}
virtual
sal_Bool
SAL_CALL
operator
>
(
const
IExecutable
&
)
const
{
return
sal_False
;
}
virtual
sal_Bool
SAL_CALL
operator
==
(
const
IExecutable
&
)
const
{
return
sal_True
;
}
virtual
sal_Bool
SAL_CALL
operator
!=
(
const
IExecutable
&
)
const
{
return
sal_False
;
}
};
#ifdef _USE_NAMESPACE
}
#endif
#endif // _VOS_EXECABL_HXX_
vos/inc/vos/istream.hxx
0 → 100644
Dosyayı görüntüle @
662c532f
/*************************************************************************
*
* $RCSfile: istream.hxx,v $
*
* $Revision: 1.1.1.1 $
*
* last change: $Author: hr $ $Date: 2000-09-18 15:18:12 $
*
* 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 _VOS_ISTREAM_HXX_
#define _VOS_ISTREAM_HXX_
#ifndef _VOS_TYPES_HXX_
# include <vos/types.hxx>
#endif
#ifdef _USE_NAMESPACE
namespace
vos
{
#endif
/** Interface for a stream of data, on that you can read and write blocks of bytes.
*/
class
IStream
{
public
:
IStream
()
{
}
virtual
~
IStream
()
{
}
/** Retrieve n bytes from the stream and copy them into pBuffer.
@param pBuffer receives the read data.
@param n the number of bytes to read. pBuffer must be large enough
to hold the n bytes!
@return the number of read bytes
*/
virtual
sal_Int32
SAL_CALL
read
(
void
*
pBuffer
,
sal_uInt32
n
)
const
=
0
;
/** Write n bytes from pBuffer to the stream.
@param pBuffer contains the data to be written.
@param n the number of bytes to write.
@return the number of written bytes
*/
virtual
sal_Int32
SAL_CALL
write
(
const
void
*
pBuffer
,
sal_uInt32
n
)
=
0
;
/** Checks if stream is closed for further reading.
@return True is stream has ended (e.g. was closed).
*/
virtual
sal_Bool
SAL_CALL
isEof
()
const
=
0
;
};
#ifdef _USE_NAMESPACE
}
#endif
#endif // _VOS_ISTREAM_HXX_
vos/inc/vos/macros.hxx
0 → 100644
Dosyayı görüntüle @
662c532f
/*************************************************************************
*
* $RCSfile: macros.hxx,v $
*
* $Revision: 1.1.1.1 $
*
* last change: $Author: hr $ $Date: 2000-09-18 15:18:12 $
*
* 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
*