No, it just means you need to provide your own implementation of SysFileSystem as part of the z/OS build. If it's apparent that you can still end up sharing code with the unix version, then we could considering refactoring the unix implementation a bit so that the code is common. I think for a first pass, however, you might want to take the copy/modify approach.
Rick On Mon, Aug 11, 2008 at 11:11 AM, David Crayford <[EMAIL PROTECTED]> wrote: > Yep, your absolutely spot on. On z/OS the file path syntax determines > the file system. For example the following C > code detects the file system in a POSIX enviroment: > > /* for a PDS data set */ > fopen( "//'ZOS.PDS.DSN(REXX)'", ... ) > > /* for a UNIX file */ > fopen( "/u/hfs/exec.rex", ... ) > > The // prefix signifies a z/OS file. So parsing the file path should be > a snack! > > Thanks Rick, I think we have a solution. Does this mean changing the > current design for SysFileSystem? > > Rick McGuire wrote: >> Yep, that's correct. Although, there's nothing that says it is >> necessarily a singleton. You might actually have multiple instances >> active with the static method selecting the correct one to use based >> on some criteria you define. >> >> Rick >> >> On Mon, Aug 11, 2008 at 10:46 AM, David Crayford <[EMAIL PROTECTED]> wrote: >> >>> ok, I think I get it. What you suggesting is an implementation that uses >>> the singleton pattern delegated from the >>> static methods already in place, right? >>> >>> Rick McGuire wrote: >>> >>>> Yes, but the class with the static methods is still the starting >>>> point. Replaceable classes with static methods were chosen for these >>>> interfaces because they allow an implementation a lot more flexibility >>>> in how things get implemented, including the use of inline methods, if >>>> appropriate. So, the z/OS version of SysFileSystem would probably >>>> have methods that looked like this: >>>> >>>> bool SysFileSystem::searchFileName(const char *name, char *fullName) >>>> { >>>> return getInstance()->searchFileName(name, fullName); >>>> } >>>> >>>> Where the instance returned would be a subclass of your base virtual >>>> class. Then this is a matter of just adjusting the build to pick up >>>> your version of SysFileSystem rather than the base unix one. >>>> >>>> Rick >>>> >>>> On Mon, Aug 11, 2008 at 10:19 AM, David Crayford <[EMAIL PROTECTED]> wrote: >>>> >>>> >>>>> That's an excellent idea! Are you suggesting implementing the delegate >>>>> design pattern? In which case >>>>> an abstract base class of pure virtual functions (Java interface) would >>>>> be required or implementing >>>>> z/OS platform code to the source tree. >>>>> >>>>> Rick McGuire wrote: >>>>> >>>>> >>>>>> I think the approach here would be to have the SysFileSystem class >>>>>> remain the interface between the portable code and the platform, and >>>>>> have its method delegate to a specific pluggable instance. >>>>>> >>>>>> Rick >>>>>> >>>>>> On Mon, Aug 11, 2008 at 9:59 AM, David Crayford <[EMAIL PROTECTED]> >>>>>> wrote: >>>>>> >>>>>> >>>>>> >>>>>>> ooRexx seems to only handle one type of file system based on the >>>>>>> platform. On my system (z/OS) there are different file systems depending >>>>>>> on the runtime environment. We have a UNIX file system and a traditional >>>>>>> mainframe filesystem using PDS data sets. There is also a UNIX like file >>>>>>> system in CICS. The SysFileSystem class is static, what I really need is >>>>>>> a SysFileSystem factory or different builds depending on where I >>>>>>> want to deploy. Any suggestions? I'm jumping the gun here a bit as I'm >>>>>>> only just starting to code in anger, but it's a concern... >>>>>>> >>>>>>> ------------------------------------------------------------------------- >>>>>>> This SF.Net email is sponsored by the Moblin Your Move Developer's >>>>>>> challenge >>>>>>> Build the coolest Linux based applications with Moblin SDK & win great >>>>>>> prizes >>>>>>> Grand prize is a trip for two to an Open Source event anywhere in the >>>>>>> world >>>>>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >>>>>>> _______________________________________________ >>>>>>> Oorexx-devel mailing list >>>>>>> Oorexx-devel@lists.sourceforge.net >>>>>>> https://lists.sourceforge.net/lists/listinfo/oorexx-devel >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> ------------------------------------------------------------------------- >>>>>> This SF.Net email is sponsored by the Moblin Your Move Developer's >>>>>> challenge >>>>>> Build the coolest Linux based applications with Moblin SDK & win great >>>>>> prizes >>>>>> Grand prize is a trip for two to an Open Source event anywhere in the >>>>>> world >>>>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >>>>>> _______________________________________________ >>>>>> Oorexx-devel mailing list >>>>>> Oorexx-devel@lists.sourceforge.net >>>>>> https://lists.sourceforge.net/lists/listinfo/oorexx-devel >>>>>> >>>>>> >>>>>> >>>>>> >>>>> ------------------------------------------------------------------------- >>>>> This SF.Net email is sponsored by the Moblin Your Move Developer's >>>>> challenge >>>>> Build the coolest Linux based applications with Moblin SDK & win great >>>>> prizes >>>>> Grand prize is a trip for two to an Open Source event anywhere in the >>>>> world >>>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >>>>> _______________________________________________ >>>>> Oorexx-devel mailing list >>>>> Oorexx-devel@lists.sourceforge.net >>>>> https://lists.sourceforge.net/lists/listinfo/oorexx-devel >>>>> >>>>> >>>>> >>>> ------------------------------------------------------------------------- >>>> This SF.Net email is sponsored by the Moblin Your Move Developer's >>>> challenge >>>> Build the coolest Linux based applications with Moblin SDK & win great >>>> prizes >>>> Grand prize is a trip for two to an Open Source event anywhere in the world >>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >>>> _______________________________________________ >>>> Oorexx-devel mailing list >>>> Oorexx-devel@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/oorexx-devel >>>> >>>> >>>> >>> ------------------------------------------------------------------------- >>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge >>> Build the coolest Linux based applications with Moblin SDK & win great >>> prizes >>> Grand prize is a trip for two to an Open Source event anywhere in the world >>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >>> _______________________________________________ >>> Oorexx-devel mailing list >>> Oorexx-devel@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/oorexx-devel >>> >>> >> >> ------------------------------------------------------------------------- >> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge >> Build the coolest Linux based applications with Moblin SDK & win great prizes >> Grand prize is a trip for two to an Open Source event anywhere in the world >> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >> _______________________________________________ >> Oorexx-devel mailing list >> Oorexx-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/oorexx-devel >> >> > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Oorexx-devel mailing list > Oorexx-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/oorexx-devel > ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel