Patent ID: 8499358

Claim:
A multifunction device being able to execute a program obtained from an external device by an operation of a user comprising: a program obtaining portion for obtaining a program from an external device; a processing portion for executing processing; a function calling portion for invoking an application program interface (API) function corresponding to a code described in a program out of API functions included in the processing portion; a use approval/disapproval information memory portion for memorizing use approval/disapproval information indicating whether a creator indicated by creator information included in the program obtained by the program obtaining portion is permitted by an authorization of an administrator of the multifunction device to use the API function of the multifunction device called from the obtained program, the creator being different from the user operating the multifunction device; a use approval/disapproval judge portion for determining whether or not the creator indicated by creator information included in the obtained program is authorized to use the function corresponding to the API function of the multifunction device based on the use approval/disapproval information if the function in the obtained program corresponds to the API function of the multifunction device; and a control portion for controlling the function calling portion; wherein if the function in the obtained program corresponds to an API function of the multifunction device, the control portion controls the function calling portion so that the API function is called when the use approval/disapproval judge portion determines that the creator indicated by the creator information of the obtained program is authorized to use the API function corresponding to the code described in the obtained program, and processing based on the obtained program is stopped when the use approval/disapproval judge portion determines that the creator indicated by the creator information of the obtained program is not authorized to use the API function; wherein if the function in the obtained program does not correspond to an API function of the multifunction device, the control portion controls to execute the function.