Rock Ridgeを含めた共通化
昨日はrock_ridge_file_sourceをとりあえず作ったわけですが、ほとんどiso9660_file_sourceと同じ処理ですから、うまく共通化できないものかと考えています。
Rock Ridgeの深いディレクトリ階層を実装した感触からすると、
の3つに分離すればよさそうです。
イメージとしては、
という感じにして、親のパスやディレクトリのトラバースを分離することを考えています。
あと、ISO 9660とJolietの場合はパステーブルが使えるので、特定のディレクトリに高速にアクセスできるのですが、Rock Ridgeの場合はルートから順に辿るしかないためパスを指定してランダムにアクセスすることはできません。
この特性の違いをどう扱うかも悩みどころです。
速度は気にせず、まずは実装してみます。