#include "spotify_utilities.h"

#import <Foundation/NSAutoreleasePool.h>
#import <Foundation/NSFileManager.h>
#import <Foundation/NSPathUtilities.h>

#import "core/scoped_nsautorelease_pool.h"

namespace utilities {

QString GetUserDataDirectory() {
  ScopedNSAutoreleasePool pool;

  NSArray* paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
  QString ret;
  if ([paths count] > 0) {
    NSString* user_path = [paths objectAtIndex:0];
    ret = QString::fromUtf8([user_path UTF8String]);
  } else {
    ret = "~/Library/Caches";
  }
  return ret;
}

QString GetSettingsDirectory() {
  ScopedNSAutoreleasePool pool;
  NSArray* paths =
      NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES);
  NSString* ret;
  if ([paths count] > 0) {
    ret = [paths objectAtIndex:0];
  } else {
    ret = @"~/Library/Application Support";
  }
  ret = [ret stringByAppendingString:@"/Clementine/spotify-settings"];

  NSFileManager* file_manager = [NSFileManager defaultManager];
  [file_manager createDirectoryAtPath:ret withIntermediateDirectories:YES attributes:nil error:nil];

  QString path = QString::fromUtf8([ret UTF8String]);
  return path;
}

}  // namespace utilities