Re: Last cry for help
My software currently uses the serviceListType stucture from NetServiceAPI.h (not published) but it appears to have changed in the Garnet 4.5.7 OS release an later (I'm using a TREO650) Does anyone know what the new struct looks like? Old Struct // serviceListType is the parameter for the sysSvcLaunchCmdGetServiceList action code typedef struct { Err error; UInt16 numServices; // number of services available MemHandle IDListH; // MemHandle to an array of serviceIDs MemHandle nameListH; } serviceListType; -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Last cry for help
"Gavin Peacock" <[EMAIL PROTECTED]> wrote in message news:74994@palm-dev-forum... > > > Ok, I can't resist a last cry for help... > > So there is a way to list and select the active network panel > connection. This API has existed ever since OS 2.0 when netlib was > introduced. The API does not allow you add a new network connection, > but you can make an existing one active. > [...] > I hope this helps. > > --- Gavin Thanks for the info Gavin. Can you solve the mystery of the missing NetServiceAPI library? I've scoured the palmos.com web site and I can't find it. I've even found dead links to knowledge base articles about it. Has Palm upgraded it to support new OS versions? Is there a version which supports removing a network service? Bob Whiteman Senior Software Engineer Pico Communications -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/tech/support/forums/
Re: Last cry for help
Ok, I can't resist a last cry for help... So there is a way to list and select the active network panel connection. This API has existed ever since OS 2.0 when netlib was introduced. The API does not allow you add a new network connection, but you can make an existing one active. There are a series of launch codes you can send to the network panel. The launch codes are defined in SystemMgr.h #define sysSvcLaunchCmdSetServiceID 20 #define sysSvcLaunchCmdGetServiceID 21 #define sysSvcLaunchCmdGetServiceList 22 #define sysSvcLaunchCmdGetServiceInfo 23 I had created a header file that was supposed to be part of the SDK, but it doesn't look like it was released. Here is the important information from NetServiceAPI.h: #define maxServiceNameLen 32// max length of a service name typedef UInt32 ServiceIDType; #define svcNoServiceSelectedID (0) // serviceListType is the parameter for the sysSvcLaunchCmdGetServiceList action code typedef struct { Err error; UInt16 numServices; // number of services available MemHandle IDListH; // MemHandle to an array of serviceIDs MemHandle nameListH; } serviceListType; typedef serviceListType * serviceListPtr; // serviceInfoType is the parameter for the sysSvcLaunchCmdGetServiceInfo action code typedef struct { Err error; ServiceIDType serviceID; // passed in to specify service you want info about UInt32 reserved; // RESERVED -- SET TO ZERO CharserviceName[maxServiceNameLen]; // returns name of service } serviceInfoType; typedef serviceInfoType * serviceInfoPtr; sysSvcLauchCmdSetServiceID expects cmdPBD to point to a valid ServiceIDType value. You can get the currently active serivce ID value by launching sysSvcCmdGetServiceID with cmdPBP pointing to a ServiceIDType value to hold the result. sysSvcLaunchCmdGetServiceInfo can be used to get the name of a service by its ID value, cmdPBP must point to a service InfoType structure. Finally you can get a list of all available services by ID and name. This allows you to display a list of available services to the user and get the service ID of the selected item. CmdPBP is passed with a serviceListType structure. The structure will return with a number of services and two memory handles. Your application is responsible for freeing the handles. The first handle contains a list of numServices serviceID UInt32 values. The second handle contains a packed list of numservices null terminated string service names. you can covert the string list to an array of pointers with the call SysFormPointerArrayToStrings() I hope this helps. --- Gavin -- -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/tech/support/forums/
Re: Last cry for help
Thanks Bob, don't know if we will join, I will look into it. Ralph -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/tech/support/forums/
Re: Last cry for help
> "Ralph Krausse" <[EMAIL PROTECTED]> wrote in message news:74916@palm-dev-forum... > I need some explanation here. I am simply or I thought, trying to change > some settings in my application so users don't have to manually go to > the perfs application and change it themselves. First I want to change > under pref->connection from Palm Modem US/Canada to Direct Serial. > Second, under pref->Network, I want to change the Service from Aminet to > WindowRAS. Ralph, I think I can explain what's going on. There's two different systems within the Palm OS that need to be configured. The first is the connection panel. This can be straightforwardly updated using the Cnc* functions defined by the Connection Manager. According to my copy of the documentation these were created in the new OS 4.0. The second system is the network panel. As I understand it there's a network database that holds a list of services and their configurations, and possibly other databases as well. Somewhere there is also a database which stores information about the currently selected network service. The biggest difficulty is that the network stack is running in the only other thread on the device. There's no official way of notifying that other thread that the databases have changed. Another difficulty is that the network system and its data formats have changed several times over the last few versions of the Palm OS. Palm Developer Technical Support once made available the NetServiceAPI, an /unsupported/ library which gives you the ability to create network services, modify network services, and set the current active service. I believe that they no longer make this available because it has not been updated to support the newest versions of the Palm OS. Without this library, I don't think there is any way to do what you want. I suggest that you join the Palm OS Developer Program and get an Advantage Level Membership. http://www.palmos.com/dev/programs/pdp/index.html Then you can submit your request to them as a developer support incident. Perhaps they can provide an updated version of the NetServiceAPI library. If you do join, please let me know what they say. Bob Whiteman Senior Software Engineer Pico Communications -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/tech/support/forums/