This is an old revision of the document!
Summary
This page details the functionality of the AGTEK Access Internet Key system. The syntax of these operations is pseudo object oriented, with a some English prose to indicate parameter and return types. This should not be taken as a real programmer's documentation, but rather as a specification indicating how the API should be implemented.
A NOTE about binding: C++ classes will return their values as the final parameter (passed by reference) and the actual return value is an AccessError code. Java classes will return the appropriate return value, with errors being indicated by standard (in this case AGTEK Access) exception structures.
Objects and Methods
The following objects and listed methods encompass the functionality for the License Server API. The language specific bindings for these methods will be folded into the appropriate language binding document during development (C++/Java).
AccessServer
The Access server API provides basic user functionality for the use and consumption of license keys.
methods
AnnouncementList getAnnouncements( int id, String product ) - Returns a list of announcements with id values greater than “id” and specified for the product with the specific product code. To see all announcements regardless, use id == -1 and product == “”.
LicenseKeyList getLicenses( String product ) - Returns a list of licenses for a specified product. (probably need to make this a product list)
void checkoutLicense( LicenseKey l ) - Causes the specified license to be checked out.
void checkinLicense( LicenseKey l ) - Causes the specified license to be returned to the server pool.
void renewLicense( LicenseKey l ) - Causes the specified license to be renewed for the standard checkout time. Renew may happen at any time the client has the license checked out.
void submitLicenseComment( String comment ) - Submits a string to the license event log for informational purposes. Will not affect any billable and resource reporting license operations.
AdminAPI (Customers)
The AdminAPI provides the capability to administer basic license features (as well as a couple of other feature);
Users associated with a key; add, remove, change
Create/Delete/Change new users for the customer
methods
UserList listUsers( LicenseKey l ) - Lists users currently assigned to the key
StorageUser addUser( String id, int type, boolean isAdmin, String password ) - Restricted form to support only customer admins, AGTEK Support to use the method in Agtek SupportAPI.
void addUser( LicenseKey l, StorageUser u ) - Adds a user to the specific key.
void removeUser( LicenseKey l, StorageUser u ) – Removes a user from the specified key.
SupportAPI (AGTEK Employees only)
The SupportAPI supports the capability to administer revenue based features in the Access system. This API is to be used only at AGTEK.
Create/Delete keys per customer
Associate feature codes per key
Activate License or Access server functionality per customer
Run reporting functions
methods
StorageUser addUser(String id, int customer, int type, boolean isAdmin, boolean isSupport, String password) - Moved method from CustomerAdmin
API.
LicenseKey createKey( Customer c, LicenseType t ) - Create a new key for the user.
void deleteKey( LicenseKey l ) - Delete a key, and all of it's user assignments.
void updateKey( LicenseKey l ) - Updates the contents of the key in the database (same id) with changes.
void updateUser( StorageUser u ) - Modified to handle Role.
void updateCusteomer( StorageCustomer c ) - Updated to handle hasAccess and hasLicense flags.