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

Reply via email to