17db96d56Sopenharmony_ci/*
27db96d56Sopenharmony_ci * Simple tool for setting an icon on a file.
37db96d56Sopenharmony_ci */
47db96d56Sopenharmony_ci#import <Cocoa/Cocoa.h>
57db96d56Sopenharmony_ci#include <stdio.h>
67db96d56Sopenharmony_ci
77db96d56Sopenharmony_ciint main(int argc, char** argv)
87db96d56Sopenharmony_ci{
97db96d56Sopenharmony_ci	if (argc != 3) {
107db96d56Sopenharmony_ci		fprintf(stderr, "Usage: seticon ICON TARGET");
117db96d56Sopenharmony_ci		return 1;
127db96d56Sopenharmony_ci	}
137db96d56Sopenharmony_ci
147db96d56Sopenharmony_ci	NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
157db96d56Sopenharmony_ci	NSString* iconPath = [NSString stringWithUTF8String:argv[1]];
167db96d56Sopenharmony_ci	NSString* filePath = [NSString stringWithUTF8String:argv[2]];
177db96d56Sopenharmony_ci
187db96d56Sopenharmony_ci	[NSApplication sharedApplication];
197db96d56Sopenharmony_ci
207db96d56Sopenharmony_ci	[[NSWorkspace sharedWorkspace]
217db96d56Sopenharmony_ci		setIcon: [[NSImage alloc] initWithContentsOfFile: iconPath]
227db96d56Sopenharmony_ci		forFile: filePath
237db96d56Sopenharmony_ci		options: 0];
247db96d56Sopenharmony_ci	[pool release];
257db96d56Sopenharmony_ci	return 0;
267db96d56Sopenharmony_ci}
27