#include <stinc.h>
#include <Gui.h>

struct Library  *MUIMasterBase;			
struct ObjApp	*App;
struct Object *Tester;

void            Open_Librarys(  void            );
struct ObjApp * CreateApp(      void            );
void            Handle_Input(   void            );
void            DisposeApp( struct ObjApp *     );
void            Close_Librarys( void            );

extern __asm __saveds Make_Key( register __a1 char *, register __d0 ULONG, register __a4 char *);


main( void )
{        
      Open_Librarys();    
    App = CreateApp();
      if(!App)
        return(FALSE);
          Tester = MUI_NewObject("Listtree.mcc");
          if(Tester)
          {
          printf("Tress Class Created\n");
          DoMethod(App->Layout_Group,OM_ADDMEMBER,Tester);
          set(Tester,0x80020011,"Cray");
          //DoMethod(Tester,0x80020011,"Cray");
          }
          else
           printf("FUCK UP\n");
       Handle_Input();
      if(App)
      DisposeApp(App);
     Close_Librarys(); 
 return;
}

void Handle_Input( void )
{

	ULONG	signals;
	ULONG	Fred;
	BOOL	running	=TRUE;
	
	while(running)
		{
			switch(Fred=DoMethod(App->App,MUIM_Application_Input,&signals))
				{
				case	MUIV_Application_ReturnID_Quit:		
						running = FALSE;
					break;	
				}
                        if (running && signals) Wait(signals);
		}	
}


void Open_Librarys( void )
{ 
         if (!(MUIMasterBase = OpenLibrary(MUIMASTER_NAME,MUIMASTER_VMIN)))
              printf("Failed to open %s.\n",MUIMASTER_NAME); // Some Smart Routine Here
}
  
void Close_Librarys( void )
{
              if (MUIMasterBase)
              CloseLibrary(MUIMasterBase);
}



ULONG Get( Object *obj, ULONG attr)
{
  ULONG retval;
  if(!GetAttr(attr,obj,&retval))
         return( NULL );
      return( retval);
}


void Make_KeyFile(Object *bob)
{
   FILE *Key_File;
   char *Buffer;
   
   if(Key_File = fopen("l:dasmp.key","wb"))
      {
       if(Key_File)
          {
            Buffer = AllocMem(1687,MEMF_ANY|MEMF_CLEAR);                                                                                                        
            Make_Key(Get(App->User_Name_String,MUIA_String_Contents),
                     atoi(Get(App->Serial_Number_String,MUIA_String_Contents)),
                     Buffer);                       
            fwrite(Buffer,1,1687,Key_File);
            FreeMem(Buffer);
            fclose(Key_File);
          }  
      }
}



