DNVorbisComments.cpp

Go to the documentation of this file.
00001 #include "stdafx.h"
00002 #include ".\DNVorbisComments.h"
00003 #using <mscorlib.dll>
00004 
00005 
00006 namespace illiminable {
00007         namespace Ogg {
00008                 namespace libVorbisCommentDotNET {
00009 DNVorbisComments::DNVorbisComments(void)
00010         :       mNativeClass(NULL)
00011 {
00012         mNativeClass = new ::VorbisComments;
00013 }
00014 
00015 DNVorbisComments::DNVorbisComments(::VorbisComments* inNativeClass) {
00016         mNativeClass = inNativeClass;
00017 }
00018 
00019 DNVorbisComments::~DNVorbisComments(void)
00020 {
00021         delete mNativeClass;
00022 }
00023 
00024 
00025 
00026 String* DNVorbisComments::vendorString() {
00027         return Wrappers::CStrToNetStr(mNativeClass->vendorString().c_str());
00028 }
00029 bool DNVorbisComments::setVendorString(String* inVendorString) {
00030         char* locCS = Wrappers::netStrToCStr(inVendorString);
00031         mNativeClass->setVendorString(locCS);
00032         Wrappers::releaseCStr(locCS);
00033         return true;
00034 }
00035 
00036 Int64 DNVorbisComments::numUserComments() {
00037         Int64 locNum = mNativeClass->numUserComments();
00038         return locNum;
00039 }
00040 DNSingleVorbisComment* DNVorbisComments::getUserComment(Int64 inIndex) {
00041         unsigned long locIndex = inIndex;
00042 
00043         //FIX::: Need to clone this... or bad things will happen when garbage colelcted.
00044         return new illiminable::Ogg::libVorbisCommentDotNET::DNSingleVorbisComment((::SingleVorbisComment*)mNativeClass->getUserComment(locIndex));
00045 }
00046         
00047         //vector<SingleVorbisComment> getCommentsByKey(String* inKey);
00048 
00049 //bool DNVorbisComments::addComment(SingleVorbisComment* inComment) {
00050 //
00051 //}
00052 bool DNVorbisComments::addComment(String* inKey, String* inValue) {
00053         char* locCS1 = Wrappers::netStrToCStr(inKey);
00054         char* locCS2 = Wrappers::netStrToCStr(inValue);
00055         mNativeClass->addComment(locCS1, locCS2);
00056         Wrappers::releaseCStr(locCS1);
00057         Wrappers::releaseCStr(locCS2);
00058         return true;
00059 }
00060 
00061         //bool parseOggPacket(OggPacket* inPacket, unsigned long inStartOffset);
00062         //OggPacket* toOggPacket();
00063 String* DNVorbisComments::toString() {
00064         return Wrappers::CStrToNetStr(mNativeClass->toString().c_str());
00065 }
00066 
00067 Int64 DNVorbisComments::size() {
00068         Int64 locNum = mNativeClass->size();
00069         return locNum;
00070 }
00071 
00072                 }}}

Generated on Tue Feb 15 14:54:22 2005 for oggdsf by  doxygen 1.3.9