alpha version, October 2000
Unlike other environments which use names for distinguishing a different things (like application documents, library interfaces, and many others), the Epoc uses "UIDs"--Unique Identification Numbers.
The idea has its advantages and its shortcomings; probably the worst of the latters is that the UIDs are not intelligible, and you easily lose track of them. Besides, the "final" UIDs--those valid for publicly released things--are to be registered with Symbian to prevent clashes; keeping track of the registered UIDs makes things even worse.
The XSdk goal is to make the programming as easy as possible; therefore, it just has to contain some UID management services. In the alpha version, they are not available in the command line XSdk, they do not support network sharing, and they can not register more UIDs automatically when the current pool grows low: all these services (and more) will be added in the future.
The XSdk system maintains a pool of UIDs: it keeps track of free, allocated, final, and temporary UIDs for all users. The access to the UID pool is throught the XSdk preferences (opened via the menu "Project / XSdk / Preferences"). The lower part of the Preferences panel contains a browser and few buttons, which ensure access to the UID Pool.
The pool offers four entrypoints (always shown in the leftmost column of the browser): list of allocated UIDs, two lists of temporary and final UIDs, and list of watermarks. The last one is not implemented in the alpha version (watermarks are designed to determine when the system should automatically allocate more UIDs).
The list of allocated UIDs is shown this way:

The middle column contains all allocated UIDs, sorted by value. If a UID is selected, the rightmost column shown information of the project to which the UID is currently allocated:
You can make the UID management to forget any assignation, freeing thus the UID for new projects. Just select the UID to be freed, click the small "Forget" button, and confirm the action in a confirmation alert (it allows you also to select the user to whom the freed UID should be given).
Besides, you can add or delete UID ranges using the "Add" and "Del" buttons; the actions are described below.
Both the temporary and final free UIDs lists look more or less the same way:

In the middle column there is a list of all users, which have some unallocated UIDs, and the special user "*all*", which represents a pool of UIDs available for any user. For each user then the rightmost column shows the list of all UIDs, available for the user, in form of a number of intervals. Have a look at the picture how the assigned UIDs make the intervals usually skip just one UID.
You can add or remove a range of UIDs: just click the small button "Add" or "Del". The XSdk will show the following panel for adding:

Fill the range of UIDs to be added, and select the user to whom they should be added. You can add temporary or final UIDs--the system determines which UIDs are added by their values, and puts them to the proper pool. In case you want to add just one UID, leave the "to:" field empty.
For deletion the panel looks similarly, only the "For user:" field is disabled, since the UIDs are removed from any user they happen to belong to. You can "remove" UIDs which does not belong to anybody with no result: it allows you to remove more UID ranges at once.
In the alpha version the UID pool is stored inside ProjectBuilder defaults: it prevents it to be shared between more users, and it prevents it to be used in the command-line XSdk releases.
Though, the pool is designed to be stored in a shared file, or in a remote server, accessible through TCP/IP. The appropriate implementation will be part of the future XSdk releases.
The temporary UIDs are allocated automatically whenever a new project, which needs to contain some UID, is created.
Final UIDs are allocated manually using the inspectors (see the XSdk Generic Inspector help page). When a final UID is allocated, the previously used temporary UID is automatically freed and returned to the pool from where it was originally got.
Copyright © 1999-2000 X.soft, all rights reserved