Skip to content

Instantly share code, notes, and snippets.

@AlanQuatermain
Created November 17, 2009 22:51
Show Gist options
  • Save AlanQuatermain/237352 to your computer and use it in GitHub Desktop.
Save AlanQuatermain/237352 to your computer and use it in GitHub Desktop.
/*
* proplist.go
* PropertyLists
*
* Created by Jim Dovey on 17/11/2009.
*
* Copyright (c) 2009 Jim Dovey
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* Neither the name of the project's author nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package proplist
import (
"os";
"xml";
"io";
)
// A PropertyList can really be anything. Or more specifically, it can be any basic type.
type PropertyList interface {
// nothing needs to go here-- this interface will apply to anything
}
type Format const (
Immutable := iota;
MutableContainers;
MutableContainersAndLeaves;
)
const (
ReadCorruptError := 3840;
ReadUnknownVersionError := 3841;
ReadStreamError := 3842;
WriteStreamError := 3851;
)
func CreateFromData(data []byte, options uint64) (plist PropertyList, format Format, err os.Error)
{
var some_var;
}
func CreateFromReader(reader io.Reader, options uint64) (plist PropertyList, format Format, err os.Error)
{
var some_other_var;
}
const something := 0
var Something := 0
func WriteToStream(plist PropertyList, writer io.Writer, format Format, options uint64) (numWritten uint64, err os.Error)
{
// code
var something, something_else = 2;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment