From: <bi...@us...> - 2008-08-01 17:39:58
|
Revision: 2816 http://oorexx.svn.sourceforge.net/oorexx/?rev=2816&view=rev Author: bigrixx Date: 2008-08-01 17:40:00 +0000 (Fri, 01 Aug 2008) Log Message: ----------- more file reorganization Modified Paths: -------------- sandbox/rick/rxapi/api/platform/unix/rexxplatformapis.h sandbox/rick/rxapi/api/platform/windows/rexxplatformapis.h sandbox/rick/rxapi/api/rexx.h sandbox/rick/rxapi/kernel/classes/RexxQueueMethods.cpp sandbox/rick/rxapi/rexxapi/client/LocalQueueManager.hpp sandbox/rick/rxapi/rexxapi/client/QueuesAPI.cpp sandbox/rick/rxapi/rexxapi/rexxapi.mak Added Paths: ----------- sandbox/rick/rxapi/rexxapi/client/platform/unix/SysLegacyAPI.cpp sandbox/rick/rxapi/rexxapi/client/platform/windows/SysLegacyAPI.cpp Removed Paths: ------------- sandbox/rick/rxapi/rexxapi/unix/ sandbox/rick/rxapi/rexxapi/windows/ Modified: sandbox/rick/rxapi/api/platform/unix/rexxplatformapis.h =================================================================== --- sandbox/rick/rxapi/api/platform/unix/rexxplatformapis.h 2008-08-01 13:11:41 UTC (rev 2815) +++ sandbox/rick/rxapi/api/platform/unix/rexxplatformapis.h 2008-08-01 17:40:00 UTC (rev 2816) @@ -38,28 +38,14 @@ #ifndef REXXPLATFORMAPIS_INCLUDED #define REXXPLATFORMAPIS_INCLUDED -/*** RexxPullQueue - Retrieve data from an External Data Queue */ -typedef struct _REXXDATETIME { /* REXX time stamp format */ - uint16_t hours; /* hour of the day (24-hour) */ - uint16_t minutes; /* minute of the hour */ - uint16_t seconds; /* second of the minute */ - uint16_t hundredths; /* hundredths of a second */ - uint16_t day; /* day of the month */ - uint16_t month; /* month of the year */ - uint16_t year; /* current year */ - uint16_t weekday; /* day of the week */ - uint32_t microseconds; /* microseconds */ - uint32_t yearday; /* day number within the year */ -} REXXDATETIME; /*** RexxPullQueue - Retrieve data from an External Data Queue */ - RexxReturnCode REXXENTRY RexxPullQueue ( const char *, /* Name of queue to read from */ PRXSTRING, /* RXSTRING to receive data */ REXXDATETIME *, /* Stor for data date/time */ size_t); /* wait status (WAIT|NOWAIT) */ -typedef RexxReturnCode (REXXENTRY *PFNREXXPULLQUEUE)(const char *, PCONSTRXSTRING, REXXDATETIME *, +typedef RexxReturnCode (REXXENTRY *PFNREXXPULLQUEUE)(const char *, PRXSTRING, REXXDATETIME *, size_t); #endif /* REXXPLATFORMAPIS_INCLUDED */ Modified: sandbox/rick/rxapi/api/platform/windows/rexxplatformapis.h =================================================================== --- sandbox/rick/rxapi/api/platform/windows/rexxplatformapis.h 2008-08-01 13:11:41 UTC (rev 2815) +++ sandbox/rick/rxapi/api/platform/windows/rexxplatformapis.h 2008-08-01 17:40:00 UTC (rev 2816) @@ -44,9 +44,9 @@ const char *, /* Name of queue to read from */ PRXSTRING, /* RXSTRING to receive data */ SYSTEMTIME *, /* Stor for data date/time */ - unsigned int); /* wait status (WAIT|NOWAIT) */ -typedef RexxReturnCode (REXXENTRY *PFNREXXPULLQUEUE)(const char *, PCONSTRXSTRING, SYSTEMTIME *, - unsigned int); + size_t); /* wait status (WAIT|NOWAIT) */ +typedef RexxReturnCode (REXXENTRY *PFNREXXPULLQUEUE)(const char *, PRXSTRING, SYSTEMTIME *, + size_t); #endif /* REXXPLATFORMAPIS_INCLUDED */ Modified: sandbox/rick/rxapi/api/rexx.h =================================================================== --- sandbox/rick/rxapi/api/rexx.h 2008-08-01 13:11:41 UTC (rev 2815) +++ sandbox/rick/rxapi/api/rexx.h 2008-08-01 17:40:00 UTC (rev 2816) @@ -165,6 +165,21 @@ #define RexxEntry REXXENTRY +/*** RexxPullFromQueue - Retrieve data from an External Data Queue */ +typedef struct _REXXDATETIME { /* REXX time stamp format */ + uint16_t hours; /* hour of the day (24-hour) */ + uint16_t minutes; /* minute of the hour */ + uint16_t seconds; /* second of the minute */ + uint16_t hundredths; /* hundredths of a second */ + uint16_t day; /* day of the month */ + uint16_t month; /* month of the year */ + uint16_t year; /* current year */ + uint16_t weekday; /* day of the week */ + uint32_t microseconds; /* microseconds */ + uint32_t yearday; /* day number within the year */ +} REXXDATETIME; + + typedef struct _RexxConditionData { wholenumber_t code; // The condition CODE information @@ -693,7 +708,16 @@ size_t); /* Queue type (FIFO|LIFO) */ typedef RexxReturnCode (REXXENTRY *PFNREXXADDQUEUE)(const char *, PCONSTRXSTRING, size_t); +/*** RexxPullFromQueue - Retrieve data from an External Data Queue */ +RexxReturnCode REXXENTRY RexxPullFromQueue ( + const char *, /* Name of queue to read from */ + PRXSTRING, /* RXSTRING to receive data */ + REXXDATETIME *, /* Stor for data date/time */ + size_t); /* wait status (WAIT|NOWAIT) */ +typedef RexxReturnCode (REXXENTRY *PFNREXXPULLFROMQUEUE)(const char *, PRXSTRING, REXXDATETIME *, + size_t); + #include "rexxplatformapis.h" Modified: sandbox/rick/rxapi/kernel/classes/RexxQueueMethods.cpp =================================================================== --- sandbox/rick/rxapi/kernel/classes/RexxQueueMethods.cpp 2008-08-01 13:11:41 UTC (rev 2815) +++ sandbox/rick/rxapi/kernel/classes/RexxQueueMethods.cpp 2008-08-01 17:40:00 UTC (rev 2816) @@ -76,7 +76,7 @@ buf.strptr = NULL; /* ask for a returned buffer */ buf.strlength = 0; /* pull a line */ - rc = RexxPullQueue(context->ObjectToStringValue(queue_name), &buf, NULL, RXQUEUE_NOWAIT); + rc = RexxPullFromQueue(context->ObjectToStringValue(queue_name), &buf, NULL, RXQUEUE_NOWAIT); if (!rc) { /* get a pulled line? */ @@ -105,7 +105,7 @@ buf.strptr = NULL; /* ask for a returned buffer */ buf.strlength = 0; /* pull a line */ - rc = RexxPullQueue(context->ObjectToStringValue(queue_name), &buf, NULL, RXQUEUE_WAIT); + rc = RexxPullFromQueue(context->ObjectToStringValue(queue_name), &buf, NULL, RXQUEUE_WAIT); if (!rc) /* get a pulled line? */ { Modified: sandbox/rick/rxapi/rexxapi/client/LocalQueueManager.hpp =================================================================== --- sandbox/rick/rxapi/rexxapi/client/LocalQueueManager.hpp 2008-08-01 13:11:41 UTC (rev 2815) +++ sandbox/rick/rxapi/rexxapi/client/LocalQueueManager.hpp 2008-08-01 17:40:00 UTC (rev 2816) @@ -73,7 +73,7 @@ size_t getSessionQueueCount(); size_t getQueueCount(const char *name); void addToNamedQueue(const char *name, CONSTRXSTRING &data, size_t lifoFifo); - void addToSessionQueue(COINSTRXSTRING &data, size_t lifoFifo); + void addToSessionQueue(CONSTRXSTRING &data, size_t lifoFifo); void pullFromQueue(const char *name, RXSTRING &data, size_t waitFlag, REXXDATETIME *timeStamp); void nestSessionQueue(QueueHandle q); virtual RexxReturnCode processServiceException(ServiceException *e); Modified: sandbox/rick/rxapi/rexxapi/client/QueuesAPI.cpp =================================================================== --- sandbox/rick/rxapi/rexxapi/client/QueuesAPI.cpp 2008-08-01 13:11:41 UTC (rev 2815) +++ sandbox/rick/rxapi/rexxapi/client/QueuesAPI.cpp 2008-08-01 17:40:00 UTC (rev 2816) @@ -36,10 +36,9 @@ /* */ /*----------------------------------------------------------------------------*/ -#include "oorexx.h" +#include "rexx.h" #include "LocalAPIManager.hpp" #include "LocalQueueManager.hpp" -#include "RexxAPI.h" #include "LocalAPIContext.hpp" // the generated name pattern is @@ -265,7 +264,7 @@ /*********************************************************************/ /* */ -/* Function: RexxPullQueue() */ +/* Function: RexxPullFromQueue() */ /* */ /* Description: Pull an entry from a queue. */ /* */ @@ -292,10 +291,10 @@ /* queued to the queue data manager. */ /* */ /*********************************************************************/ -RexxReturnCode RexxEntry RexxPullQueue( +RexxReturnCode RexxEntry RexxPullFromQueue( const char *name, RXSTRING *data_buf, - RexxTimeStamp *time, + REXXDATETIME *time, RexxUnsignedNumber waitflag) { ENTER_REXX_API(QueueManager) Added: sandbox/rick/rxapi/rexxapi/client/platform/unix/SysLegacyAPI.cpp =================================================================== --- sandbox/rick/rxapi/rexxapi/client/platform/unix/SysLegacyAPI.cpp (rev 0) +++ sandbox/rick/rxapi/rexxapi/client/platform/unix/SysLegacyAPI.cpp 2008-08-01 17:40:00 UTC (rev 2816) @@ -0,0 +1,83 @@ +/*----------------------------------------------------------------------------*/ +/* */ +/* Copyright (c) 1995, 2004 IBM Corporation. All rights reserved. */ +/* Copyright (c) 2005-2006 Rexx Language Association. All rights reserved. */ +/* */ +/* This program and the accompanying materials are made available under */ +/* the terms of the Common Public License v1.0 which accompanies this */ +/* distribution. A copy is also available at the following address: */ +/* http://www.ibm.com/developerworks/oss/CPLv1.0.htm */ +/* */ +/* Redistribution and use in source and binary forms, with or */ +/* without modification, are permitted provided that the following */ +/* conditions are met: */ +/* */ +/* Redistributions of source code must retain the above copyright */ +/* notice, this list of conditions and the following disclaimer. */ +/* Redistributions in binary form must reproduce the above copyright */ +/* notice, this list of conditions and the following disclaimer in */ +/* the documentation and/or other materials provided with the distribution. */ +/* */ +/* Neither the name of Rexx Language Association nor the names */ +/* of its contributors may be used to endorse or promote products */ +/* derived from this software without specific prior written permission. */ +/* */ +/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ +/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ +/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */ +/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ +/* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ +/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */ +/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */ +/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY */ +/* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */ +/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */ +/* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* */ +/*********************************************************************/ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include "rexx.h" + +/*********************************************************************/ +/* */ +/* Function: RexxPullQueue() */ +/* */ +/* Description: Pull an entry from a queue. */ +/* */ +/* Function: Locate the queue, return its top entry to */ +/* the caller, and tell the queue data */ +/* manager to delete the entry. */ +/* */ +/* If the queue is empty, the caller can elect */ +/* to wait for someone to post an entry. */ +/* */ +/* Notes: Caller is responsible for freeing the returned */ +/* memory. */ +/* */ +/* The entry's control block is stored in the */ +/* entry's memory. We must therefore obtain */ +/* addressability to the entry's memory before */ +/* we can process the entry. */ +/* */ +/* Input: external queue name, wait flag. */ +/* */ +/* Output: queue element, data size, date/time stamp. */ +/* */ +/* Effects: Top entry removed from the queue. Message */ +/* queued to the queue data manager. */ +/* */ +/*********************************************************************/ +RexxReturnCode REXXENTRY RexxPullQueue( + const char *name, + PRXSTRING data_buf, + REXXDATETIME *dt, + size_t waitflag) +{ + // for unix platforms, this is a straight passthrough to the real API. + return RexxPullFromQueue(name, data_buf, dt, waitflag); +} + Added: sandbox/rick/rxapi/rexxapi/client/platform/windows/SysLegacyAPI.cpp =================================================================== --- sandbox/rick/rxapi/rexxapi/client/platform/windows/SysLegacyAPI.cpp (rev 0) +++ sandbox/rick/rxapi/rexxapi/client/platform/windows/SysLegacyAPI.cpp 2008-08-01 17:40:00 UTC (rev 2816) @@ -0,0 +1,91 @@ +/*----------------------------------------------------------------------------*/ +/* */ +/* Copyright (c) 1995, 2004 IBM Corporation. All rights reserved. */ +/* Copyright (c) 2005-2006 Rexx Language Association. All rights reserved. */ +/* */ +/* This program and the accompanying materials are made available under */ +/* the terms of the Common Public License v1.0 which accompanies this */ +/* distribution. A copy is also available at the following address: */ +/* http://www.ibm.com/developerworks/oss/CPLv1.0.htm */ +/* */ +/* Redistribution and use in source and binary forms, with or */ +/* without modification, are permitted provided that the following */ +/* conditions are met: */ +/* */ +/* Redistributions of source code must retain the above copyright */ +/* notice, this list of conditions and the following disclaimer. */ +/* Redistributions in binary form must reproduce the above copyright */ +/* notice, this list of conditions and the following disclaimer in */ +/* the documentation and/or other materials provided with the distribution. */ +/* */ +/* Neither the name of Rexx Language Association nor the names */ +/* of its contributors may be used to endorse or promote products */ +/* derived from this software without specific prior written permission. */ +/* */ +/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ +/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ +/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */ +/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ +/* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ +/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */ +/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */ +/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY */ +/* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */ +/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */ +/* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* */ +/*********************************************************************/ +#include "rexx.h" + +/*********************************************************************/ +/* */ +/* Function: RexxPullQueue() */ +/* */ +/* Description: Pull an entry from a queue. */ +/* */ +/* Function: Locate the queue, return its top entry to */ +/* the caller, and tell the queue data */ +/* manager to delete the entry. */ +/* */ +/* If the queue is empty, the caller can elect */ +/* to wait for someone to post an entry. */ +/* */ +/* Notes: Caller is responsible for freeing the returned */ +/* memory. */ +/* */ +/* The entry's control block is stored in the */ +/* entry's memory. We must therefore obtain */ +/* addressability to the entry's memory before */ +/* we can process the entry. */ +/* */ +/* Input: external queue name, wait flag. */ +/* */ +/* Output: queue element, data size, date/time stamp. */ +/* */ +/* Effects: Top entry removed from the queue. Message */ +/* queued to the queue data manager. */ +/* */ +/*********************************************************************/ +RexxReturnCode REXXENTRY RexxPullQueue( + const char *name, + PRXSTRING data_buf, + SYSTEMTIME *dt, + size_t waitflag) +{ + REXXDATETIME time; + + RexxReturnCode rc = RexxPullFromQueue(name, data_buf, &time, waitflag); + // we need to convert the time stamp, if requested + if (dt != NULL) + { + dt->wYear = time.year; + dt->wMonth = time.month; + dt->wDay = time.day; + dt->wHour = time.hours; + dt->wMinute = time.minutes; + dt->wSecond = time.seconds; + dt->wMilliseconds = (WORD)(time.microseconds / 1000); + dt->wDayOfWeek = time.weekday; + } + return rc; +} Modified: sandbox/rick/rxapi/rexxapi/rexxapi.mak =================================================================== --- sandbox/rick/rxapi/rexxapi/rexxapi.mak 2008-08-01 13:11:41 UTC (rev 2815) +++ sandbox/rick/rxapi/rexxapi/rexxapi.mak 2008-08-01 17:40:00 UTC (rev 2816) @@ -59,7 +59,7 @@ $(OR_OUTDIR)\LocalMacroSpaceManager.obj $(OR_OUTDIR)\LocalRegistrationManager.obj \ $(OR_OUTDIR)\MacroSpaceApi.obj $(OR_OUTDIR)\QueuesApi.obj $(OR_OUTDIR)\RegistrationApi.obj \ $(OR_OUTDIR)\ServiceMessage.obj $(OR_OUTDIR)\SysCSStream.obj $(OR_OUTDIR)\SysProcess.obj \ - $(OR_OUTDIR)\Utilities.obj + $(OR_OUTDIR)\Utilities.obj $(OR_OUTDIR)\SysLegacyAPI.obj SERVEROBJS = $(OR_OUTDIR)\APIServer.obj $(OR_OUTDIR)\APIServerInstance.obj \ $(OR_OUTDIR)\MacroSpaceManager.obj $(OR_OUTDIR)\QueueManager.obj \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |