wmi-1.3.16 from opsview.com
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
###########################################################################
|
||||
#
|
||||
# This program is part of Zenoss Core, an open source monitoring platform.
|
||||
# Copyright (C) 2008-2010, Zenoss Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License version 2, or (at your
|
||||
# option) any later version, as published by the Free Software Foundation.
|
||||
#
|
||||
# For complete information please visit: http://www.zenoss.com/oss/
|
||||
#
|
||||
###########################################################################
|
||||
|
||||
from pysamba.library import *
|
||||
from pysamba.rpc.credentials import CRED_SPECIFIED
|
||||
import logging
|
||||
|
||||
log = logging.getLogger('p.composite_context')
|
||||
|
||||
( COMPOSITE_STATE_INIT, COMPOSITE_STATE_IN_PROGRESS,
|
||||
COMPOSITE_STATE_DONE, COMPOSITE_STATE_ERROR ) = range(4)
|
||||
|
||||
class composite_context(Structure): pass
|
||||
composite_context_callback = CFUNCTYPE(None, POINTER(composite_context))
|
||||
class async(Structure):
|
||||
_fields_ = [
|
||||
('fn', composite_context_callback),
|
||||
('private_data', c_void_p),
|
||||
]
|
||||
|
||||
composite_context._fields_ = [
|
||||
('state', enum),
|
||||
('private_data', c_void_p),
|
||||
('status', NTSTATUS),
|
||||
('event_ctx', c_void_p), # struct event_context *
|
||||
('async', async),
|
||||
('used_wait', BOOL),
|
||||
]
|
||||
|
||||
# _PUBLIC_ struct composite_context *composite_create(TALLOC_CTX *mem_ctx,
|
||||
# struct event_context *ev);
|
||||
|
||||
library.composite_create.restype = POINTER(composite_context)
|
||||
library.composite_create.argtypes = [c_void_p, c_void_p]
|
||||
library.composite_create = logFuncCall(library.composite_create)
|
||||
|
||||
def composite_create(memctx, eventContext):
|
||||
result = library.composite_create(memctx, eventContext)
|
||||
if not result:
|
||||
raise RuntimeError("Unable to allocate a composite_context")
|
||||
return result
|
||||
|
||||
# _PUBLIC_ BOOL composite_nomem(const void *p, struct composite_context *ctx);
|
||||
library.composite_nomem.restype = BOOL
|
||||
library.composite_nomem.argtypes = [c_void_p, POINTER(composite_context)]
|
||||
library.composite_nomem = logFuncCall(library.composite_nomem)
|
||||
|
||||
library.composite_wait.restype = NTSTATUS
|
||||
library.composite_wait.argtypes = [POINTER(composite_context)]
|
||||
library.composite_wait = logFuncCall(library.composite_wait)
|
||||
library.composite_is_ok.restype = BOOL
|
||||
library.composite_is_ok.argtypes = [POINTER(composite_context)]
|
||||
library.composite_is_ok = logFuncCall(library.composite_is_ok)
|
||||
library.composite_error.restype = None
|
||||
library.composite_error.argtypes = [POINTER(composite_context), NTSTATUS]
|
||||
library.composite_error = logFuncCall(library.composite_error)
|
||||
library.composite_done.restype = None
|
||||
library.composite_done.argtypes = [POINTER(composite_context)]
|
||||
library.composite_done = logFuncCall(library.composite_done)
|
||||
Reference in New Issue
Block a user