olehandler

package module
v0.0.0-...-837ad2c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 21, 2016 License: MIT Imports: 5 Imported by: 0

README

go-ole-handler

A utility for go-ole

Thread(goroutine) safe and Release safe.(If close root olehandler, close all children.)

Install

go get -u github.com/yaegaki/go-ole-handler

Sample

package main

import (
	"log"

	"github.com/go-ole/go-ole"
	"github.com/yaegaki/go-ole-handler"
)

func main() {
	err := Itunes()
	if err != nil {
		log.Fatal(err)
	}
}

func Itunes() error {
	err := ole.CoInitializeEx(0, ole.COINIT_MULTITHREADED)
	if err != nil {
		return err
	}
	defer ole.CoUninitialize()

	handler, err := olehandler.CreateRootOleHandler("iTunes.Application")
	if err != nil {
		return err
	}
	defer handler.Close()

	track, err := handler.GetOleHandler("CurrentTrack")
	if err != nil {
		return err
	}

	name, err := track.GetStringProperty("Name")
	if err != nil {
		return err
	}

	artist, err := track.GetStringProperty("Artist")
	if err != nil {
		return err
	}

	log.Printf("%v %v", name, artist)

	return nil
}

Documentation

Rendered for windows/amd64

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type OleHandler

type OleHandler struct {
	App    *ole.IUnknown
	Handle *ole.IDispatch
	// contains filtered or unexported fields
}

func CreateOleHandler

func CreateOleHandler(parent *OleHandler, handle *ole.IDispatch) *OleHandler

func CreateRootOleHandler

func CreateRootOleHandler(programID string) (*OleHandler, error)

func (*OleHandler) CallMethod

func (o *OleHandler) CallMethod(property string, args ...interface{}) error

func (*OleHandler) CallMethodWithResult

func (o *OleHandler) CallMethodWithResult(property string, args ...interface{}) (v *ole.VARIANT, err error)

func (*OleHandler) Close

func (o *OleHandler) Close()

func (*OleHandler) Closed

func (o *OleHandler) Closed() <-chan struct{}

func (*OleHandler) GetBoolProperty

func (o *OleHandler) GetBoolProperty(property string, args ...interface{}) (bool, error)

func (*OleHandler) GetIntProperty

func (o *OleHandler) GetIntProperty(property string, args ...interface{}) (int, error)

func (*OleHandler) GetOleHandler

func (o *OleHandler) GetOleHandler(property string) (handler *OleHandler, err error)

func (*OleHandler) GetOleHandlerByMethod

func (o *OleHandler) GetOleHandlerByMethod(method string) (handler *OleHandler, err error)

func (*OleHandler) GetOleHandlerWithArgs

func (o *OleHandler) GetOleHandlerWithArgs(property string, args ...interface{}) (handler *OleHandler, err error)

func (*OleHandler) GetOleHandlerWithArgsByMethod

func (o *OleHandler) GetOleHandlerWithArgsByMethod(method string, args ...interface{}) (handler *OleHandler, err error)

func (*OleHandler) GetOleHandlerWithCallback

func (o *OleHandler) GetOleHandlerWithCallback(property string, fn func(*OleHandler) error) error

func (*OleHandler) GetOleHandlerWithCallbackAndArgs

func (o *OleHandler) GetOleHandlerWithCallbackAndArgs(property string, fn func(*OleHandler) error, args ...interface{}) error

func (*OleHandler) GetOleHandlerWithCallbackAndArgsByMethod

func (o *OleHandler) GetOleHandlerWithCallbackAndArgsByMethod(method string, fn func(*OleHandler) error, args ...interface{}) error

func (*OleHandler) GetOleHandlerWithCallbackByMethod

func (o *OleHandler) GetOleHandlerWithCallbackByMethod(method string, fn func(*OleHandler) error) error

func (*OleHandler) GetProperty

func (o *OleHandler) GetProperty(property string, args ...interface{}) (result *ole.VARIANT, err error)

func (*OleHandler) GetStringProperty

func (o *OleHandler) GetStringProperty(property string, args ...interface{}) (string, error)

func (*OleHandler) PutProperty

func (o *OleHandler) PutProperty(property string, args ...interface{}) error

func (*OleHandler) SafeAccess

func (o *OleHandler) SafeAccess(fn func() error) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL