/****************************************************************************
***  Ein Beispiel-AutoPOINT Link-File                                     ***
*****************************************************************************
***                                                                       ***
***  Mit diesem File wird der AutoPOINT an das ZC-Module angelinkt.       ***
***                                                                       ***
***  Aufruf vom Installer-Skript mit den AutoPOINT-PRG-Name und den       ***
***  installierten Pfad.                                                  ***
***                                                                       ***
***                                                                       ***
***                                                                       ***
***  Zum Ansehen des Source TABSIZE auf 2 stellen                         ***
****************************************************************************/

/* Include-dateien */

#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <clib/exec_protos.h>
#include <proto/exec.h>
#include <exec/exec.h>
#include <exec/memory.h>

#include <libraries/autopoint_library.h>
#include <pragmas/AutoPOINT_pragmas.h>
#include <utility/tagitem.h>

/* Start */

int main(int argc,char* argv[])
{
	int anzahl = 0;
	
	if (argc == 3)
	{
		struct Library *AutoPOINTBase = OpenLibrary("BBS:Libs/AutoPOINT.library",0);
		if(AutoPOINTBase)
		{
			struct TagItem tags[]=
    	{
/* Erstmal die Pflicht-Dinger */
	      TAG_AP_PROGRAMM_NAME   ,(ULONG)NULL,
    	  TAG_AP_DOSPFAD         ,(ULONG)NULL,
      	TAG_AP_DEINSTALL_PATH  ,(ULONG)NULL,
  	    TAG_AP_DESCRIPTION_TEXT,(ULONG)"beschreibung.txt",

/* Nun die Zusatz-Features */
				TAG_AP_SETUP_PRG_NAME  ,(ULONG)"Bsp_AutoPOINT_Setup",
				TAG_AP_VERSION         ,(ULONG)"$VER: Bsp.AutoPOINT-Prg 1.0 ("__DATE__")",
  	    TAG_AP_AUTHOR          ,(ULONG)"Uwe Rosenkranz",
				TAG_AP_HELPTXTFILE		 ,(ULONG)"Default_Helptext",
/* Hier jetzt ein voreingerichteter Bsp-AutoPOINT mit den Namen `TestAPoint`*/
				TAG_AP_DEF_AP_NAME     ,(ULONG)"TestAPoint",
				TAG_AP_DEF_APN_TXT		 ,(ULONG)"Im diesem Paket ist ein Beispiel-AutoPOINT (mit Konfig) enthalten.\n"
																			 "Sie können aber auch im Setup des Modules selbst ein AutoPOINT erstellen.\n"
																			 "\nZum Testen empfehle ich Ihnen, diesen AutoPOINT (TestAPoint) erstmal "
                                       "zu installieren.", 
				TAG_AP_DEF_APN_PREF    ,(ULONG)"TestAPoint.config",
				TAG_AP_DEF_APN_HLPTXT  ,(ULONG)"TestAPoint.help",
/* Ende nicht vergessen */
				TAG_DONE,0
  	  };

			// variable Tag-Daten noch füllen
			tags[0].ti_Data = (ULONG) argv[1];
			tags[1].ti_Data = (ULONG) argv[2];
			tags[2].ti_Data = (ULONG) argv[2];

			/* Programm an Module anlinken */

			anzahl = AP_InstallNewAutoPOINT(tags);


			/* Lib wieder schließen */

			CloseLibrary (AutoPOINTBase);


      /* Ruckgabewert auswerten (oder auch nicht) */

			if (anzahl < 0)
			{
				printf ("Irgendwas ist schiefgegangen - Fehler : %d\n", anzahl);
			}
			else
			{
				if (anzahl == 0)
				{
					printf ("Das AutoPOINT-Prg wurde nicht installiert\n");
				}
				else
				{
					if (anzahl == 1)
					{
						printf ("Das AutoPOINT-Prg wurde installiert\n");
					}
					else
					{
						printf ("Das AutoPOINT-Prg und %d AutoPOINT(s) wurde installiert\n", anzahl - 1);
					}
				}
			}
		}
		else
		{
			printf ("kann AutoPoint-Lib nicht öffnen!\n");
		}
	}
	else
	{
		printf ("Dieses Programm können Sie nicht direkt starten!\nBitte starten Sie den Installer-Skript!\n");
	}
	return anzahl;
}